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:62

Parameters

context

IPluginContext

pluginsDir?

string

Returns

PluginManager

Overrides

EventEmitter.constructor

Methods

activatePlugin()

activatePlugin(pluginId): Promise<boolean>

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

Activate a plugin

Parameters

pluginId

string

Returns

Promise<boolean>


clearErrors()

clearErrors(): void

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

Clear plugin errors

Returns

void


deactivatePlugin()

deactivatePlugin(pluginId, dropTables): Promise<boolean>

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

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:471

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:450

Execute pre hooks for an event

Parameters

event

string

data

unknown

Returns

Promise<unknown>


getActivePlugins()

getActivePlugins(): ILoadedPlugin[]

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

Get active plugins

Returns

ILoadedPlugin[]


getErrors()

getErrors(): IPluginError[]

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

Get plugin errors

Returns

IPluginError[]


getExtensionRegistry()

getExtensionRegistry(): IExtensionRegistry

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

Get extension registry

Returns

IExtensionRegistry


getLoadedPluginIds()

getLoadedPluginIds(): string[]

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

Get loaded plugin IDs

Returns

string[]


getLoadedPlugins()

getLoadedPlugins(): ILoadedPlugin[]

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

Get all loaded plugins

Returns

ILoadedPlugin[]


getPlugin()

getPlugin(pluginId): ILoadedPlugin | undefined

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

Get a specific plugin

Parameters

pluginId

string

Returns

ILoadedPlugin | undefined


getPluginContext()

getPluginContext(): IPluginContext

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

Get plugin context

Returns

IPluginContext


getPluginsDirectory()

getPluginsDirectory(): string

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

Get plugins directory

Returns

string


gracefulShutdown()

gracefulShutdown(): Promise<void>

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

Gracefully shutdown plugin system without triggering deactivation or schema updates This is used during server shutdown to avoid unnecessary operations

Returns

Promise<void>


hasInitializationBeenAttempted()

hasInitializationBeenAttempted(): boolean

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

Check if initialization was attempted (regardless of success/failure)

Returns

boolean


initialize()

initialize(): Promise<void>

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

Initialize the plugin system

Returns

Promise<void>


installPlugin()

installPlugin(pluginId): Promise<boolean>

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

Install a plugin

Parameters

pluginId

string

Returns

Promise<boolean>


isPluginActive()

isPluginActive(pluginId): boolean

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

Check if plugin is active

Parameters

pluginId

string

Returns

boolean


isPluginLoaded()

isPluginLoaded(pluginId): boolean

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

Check if plugin is loaded

Parameters

pluginId

string

Returns

boolean


isSystemInitialized()

isSystemInitialized(): boolean

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

Check if system is initialized (successfully)

Returns

boolean


loadPlugin()

loadPlugin(pluginId): Promise<boolean>

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

Load a specific plugin

Parameters

pluginId

string

Returns

Promise<boolean>


uninstallPlugin()

uninstallPlugin(pluginId): Promise<boolean>

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

Uninstall a plugin

Parameters

pluginId

string

Returns

Promise<boolean>


unloadPlugin()

unloadPlugin(pluginId): Promise<boolean>

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

Unload a plugin from memory

Parameters

pluginId

string

Returns

Promise<boolean>