mira-app-core
Version:
Core library for Mira TypeScript project - provides base functionality without auto-execution
32 lines • 1.17 kB
TypeScript
import { ILibraryServerData } from 'mira-storage-sqlite';
import { MiraWebsocketServer } from './WebSocketServer';
export interface PluginConfig {
name: string;
enabled: boolean;
path: string;
}
export declare class ServerPluginManager {
pluginsDir: string;
private server;
private dbService;
private pluginsConfigPath;
private loadedPlugins;
fields: Record<string, any>[];
constructor({ server, dbService, pluginsDir }: {
server: MiraWebsocketServer;
dbService: ILibraryServerData;
pluginsDir?: string;
});
getPluginDir(pluginName: string): string;
loadPlugins(reload?: boolean): Promise<void>;
loadPlugin(pluginConfig: PluginConfig, reload?: boolean): Promise<void>;
registerFields(fields: Record<string, any>[]): void;
registerField(field: Record<string, any>): void;
getPlugin<T>(name: string): T | undefined;
isPluginLoaded(name: string): boolean;
unloadPlugin(name: string): boolean;
reloadPlugin(name: string): Promise<boolean>;
getPluginsList(): any[];
addPlugin(config: PluginConfig): Promise<void>;
}
//# sourceMappingURL=ServerPluginManager.d.ts.map