PluginManager
Class: PluginManager
Defined in: src/plugin/manager/core.ts:32
Plugin System Main Entry Point for Talawa API
This file exports all the main plugin system components and utilities for use throughout the API application.
Extends
EventEmitter
Constructors
Constructor
new PluginManager(
context,pluginsDir?):PluginManager
Defined in: src/plugin/manager/core.ts:61
Parameters
context
pluginsDir?
string
Returns
PluginManager
Overrides
EventEmitter.constructor
Methods
activatePlugin()
activatePlugin(
pluginId):Promise<boolean>
Defined in: src/plugin/manager/core.ts:321
Activate a plugin
Parameters
pluginId
string
Returns
Promise<boolean>
clearErrors()
clearErrors():
void
Defined in: src/plugin/manager/core.ts:487
Clear plugin errors
Returns
void
deactivatePlugin()
deactivatePlugin(
pluginId,dropTables):Promise<boolean>
Defined in: src/plugin/manager/core.ts:328
Deactivate a plugin
Parameters
pluginId
string
dropTables
boolean = false
Returns
Promise<boolean>
executePostHooks()
executePostHooks(
event,data):Promise<void>
Defined in: src/plugin/manager/core.ts:460
Execute post hooks for an event
Parameters
event
string
data
unknown
Returns
Promise<void>
executePreHooks()
executePreHooks(
event,data):Promise<unknown>
Defined in: src/plugin/manager/core.ts:442
Execute pre hooks for an event
Parameters
event
string
data
unknown
Returns
Promise<unknown>
getActivePlugins()
getActivePlugins():
ILoadedPlugin[]
Defined in: src/plugin/manager/core.ts:404
Get active plugins
Returns
getErrors()
getErrors():
IPluginError[]
Defined in: src/plugin/manager/core.ts:480
Get plugin errors
Returns
getExtensionRegistry()
getExtensionRegistry():
IExtensionRegistry
Defined in: src/plugin/manager/core.ts:435
Get extension registry
Returns
getLoadedPluginIds()
getLoadedPluginIds():
string[]
Defined in: src/plugin/manager/core.ts:397
Get loaded plugin IDs
Returns
string[]
getLoadedPlugins()
getLoadedPlugins():
ILoadedPlugin[]
Defined in: src/plugin/manager/core.ts:390
Get all loaded plugins
Returns
getPlugin()
getPlugin(
pluginId):ILoadedPlugin|undefined
Defined in: src/plugin/manager/core.ts:413
Get a specific plugin
Parameters
pluginId
string
Returns
ILoadedPlugin | undefined
getPluginContext()
getPluginContext():
IPluginContext
Defined in: src/plugin/manager/core.ts:508
Get plugin context
Returns
getPluginsDirectory()
getPluginsDirectory():
string
Defined in: src/plugin/manager/core.ts:501
Get plugins directory
Returns
string
gracefulShutdown()
gracefulShutdown():
Promise<void>
Defined in: src/plugin/manager/core.ts:516
Gracefully shutdown plugin system without triggering deactivation or schema updates This is used during server shutdown to avoid unnecessary operations
Returns
Promise<void>
installPlugin()
installPlugin(
pluginId):Promise<boolean>
Defined in: src/plugin/manager/core.ts:314
Install a plugin
Parameters
pluginId
string
Returns
Promise<boolean>
isPluginActive()
isPluginActive(
pluginId):boolean
Defined in: src/plugin/manager/core.ts:427
Check if plugin is active
Parameters
pluginId
string
Returns
boolean
isPluginLoaded()
isPluginLoaded(
pluginId):boolean
Defined in: src/plugin/manager/core.ts:420
Check if plugin is loaded
Parameters
pluginId
string
Returns
boolean
isSystemInitialized()
isSystemInitialized():
boolean
Defined in: src/plugin/manager/core.ts:494
Check if system is initialized
Returns
boolean
loadPlugin()
loadPlugin(
pluginId):Promise<boolean>
Defined in: src/plugin/manager/core.ts:183
Load a specific plugin
Parameters
pluginId
string
Returns
Promise<boolean>
uninstallPlugin()
uninstallPlugin(
pluginId):Promise<boolean>
Defined in: src/plugin/manager/core.ts:338
Uninstall a plugin
Parameters
pluginId
string
Returns
Promise<boolean>
unloadPlugin()
unloadPlugin(
pluginId):Promise<boolean>
Defined in: src/plugin/manager/core.ts:345
Unload a plugin from memory
Parameters
pluginId
string
Returns
Promise<boolean>