Skip to main content

PluginManager

API Docs


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

IPluginContext

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

ILoadedPlugin[]


getErrors()

getErrors(): IPluginError[]

Defined in: src/plugin/manager/core.ts:480

Get plugin errors

Returns

IPluginError[]


getExtensionRegistry()

getExtensionRegistry(): IExtensionRegistry

Defined in: src/plugin/manager/core.ts:435

Get extension registry

Returns

IExtensionRegistry


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

ILoadedPlugin[]


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

IPluginContext


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>