DatabaseConfigurationService

DatabaseConfigurationService

The Twyr Web Application Server PostgreSQL-based configuration sub-service.

Constructor

new DatabaseConfigurationService()

Allows the rest of the codebase to CRUD their configurations from the PostgreSQL database.

Source:

Allows the rest of the codebase to CRUD their configurations from the PostgreSQL database.

Extends

Members

(readonly) basePath :string

Source:
Overrides:
Type:
  • string

(readonly) dependencies :Object

Source:
Inherited From:
Type:
  • Object

(readonly) Interface :Object

Source:
Inherited From:
Type:
  • Object

(readonly) name :string

Source:
Inherited From:
Type:
  • string

Methods

(async) _changeState(newState) → {undefined}

Enables / disables this module, and all its sub-modules (if any).

Source:
Inherited From:
Parameters:
Name Type Description
newState Object

The next state of this module.

Returns:

Nothing.

Type
undefined

(async) _dependencyReconfigure(dependency) → {undefined}

Lets the module know that one of its dependencies changed configuration.

Source:
Inherited From:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _dependencyStateChange(dependency, newState) → {undefined}

Lets the module know that one of its dependencies changed state.

Source:
Inherited From:
Parameters:
Name Type Description
dependency TwyrBaseModule

The dependency that changed state.

newState Object

The next state of the dependency.

Returns:

Nothing.

Type
undefined

(async) _exists(filepath, mode) → {boolean}

Checks to see if the path can be accessed by this process using the mode specified.

Source:
Inherited From:
Parameters:
Name Type Description
filepath string

Path of the filesystem entity.

mode number

Permission to be checked for.

Returns:

True / False.

Type
boolean

_handleUncaughtException(err) → {undefined}

Logs Unhandled Exceptions to prevent the process from crashing.

Source:
Inherited From:
Parameters:
Name Type Description
err Error

The unhandled exception.

Returns:

Nothing.

Type
undefined

(async) _parentReconfigure() → {undefined}

Lets the module know that its parent changed configuration.

Source:
Inherited From:
Returns:

Nothing.

Type
undefined

(async) _parentStateChange(newState) → {undefined}

Lets the module know that its parent changed state.

Source:
Inherited From:
Parameters:
Name Type Description
newState Object

The next state of the parent module.

Returns:

Nothing.

Type
undefined

(async) _reconfigure(newConfig) → {undefined}

Changes the configuration of this module, and informs everyone interested.

Source:
Inherited From:
Parameters:
Name Type Description
newConfig Object

The changed confoguration.

Returns:

Nothing.

Type
undefined

(async) _setup() → {undefined}

To be implemented by derived classes for setting themselves up.

Source:
Overrides:
Returns:

Nothing.

Type
undefined

(async) _subModuleReconfigure(subModule) → {undefined}

Lets the module know that one of its subModules changed configuration.

Source:
Inherited From:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed configuration.

Returns:

Nothing.

Type
undefined

(async) _subModuleStateChange(subModule, newState) → {undefined}

Lets the module know that one of its subModules changed state.

Source:
Inherited From:
Parameters:
Name Type Description
subModule TwyrBaseModule

The sub-module that changed state.

newState Object

The next state of the sub-module.

Returns:

Nothing.

Type
undefined

(async) _teardown() → {undefined}

To be implemented by derived classes for un-setting themselves down.

Source:
Overrides:
Returns:

Nothing.

Type
undefined

(async) getModuleId(twyrModule) → {null}

Retrieves the configuration of the twyrModule requesting for it.

Source:
Parameters:
Name Type Description
twyrModule TwyrBaseModule

Instance of the TwyrBaseModule that requires its state.

Returns:
  • The database ID of the twyrModule.
Type
null

(async) getModuleState(twyrModule) → {boolean}

Retrieves and returns the module state.

Source:
Parameters:
Name Type Description
twyrModule TwyrBaseModule

Instance of the TwyrBaseModule that requires its state.

Returns:
  • The twyrModule state (enabled / disabled).
Type
boolean

(async) initialize() → {Object}

Initializes sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#initialize) to initialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their initialization.
Type
Object

(async) load(configSrvc) → {Object}

Loads sub-modules, if any.

Source:
Inherited From:
  1. Use the supplied ConfigurationService instance (if any), to get / store both configuration and state.
  2. Call the loader (typically, TwyrModuleLoader#load) to load sub-modules, if any.
Parameters:
Name Type Description
configSrvc ConfigurationService

Instance of the ConfigurationService that supplies configuration.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their loading.
Type
Object

(async) loadConfiguration(twyrModule) → {Object}

Retrieves the configuration of the twyrModule requesting for it.

Source:
Parameters:
Name Type Description
twyrModule TwyrBaseModule

Instance of the TwyrBaseModule that requires configuration.

Returns:
  • The twyrModule's database-based configuration.
Type
Object

(async) saveConfiguration(twyrModule, config) → {Object}

Saves the configuration of the twyrModule requesting for it.

Source:
Parameters:
Name Type Description
twyrModule TwyrBaseModule

Instance of the TwyrBaseModule that requires configuration.

config Object

The TwyrBaseModule's' configuration that should be persisted.

Returns:
  • The twyrModule configuration.
Type
Object

(async) setModuleState(twyrModule, enabled) → {null}

Sets the module state in the database.

Source:
Parameters:
Name Type Description
twyrModule TwyrBaseModule

Instance of the TwyrBaseModule that requires its state.

enabled boolean

State of the module.

Returns:
  • The module state.
Type
null

(async) start(dependencies) → {Object}

Starts sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#start) to start sub-modules, if any.

Parameters:
Name Type Description
dependencies Object

Interfaces to TwyrBaseService instances that this module depends on.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their startup sequences.
Type
Object

(async) stop() → {Object}

Stops sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#stop) to shutdown sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they complete their shutdown sequences.
Type
Object

(async) uninitialize() → {Object}

Uninitializes sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#uninitialize) to uninitialize sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they uninitialize themselves.
Type
Object

(async) unload() → {Object}

Unloads sub-modules, if any.

Source:
Inherited From:

Call the loader (typically, TwyrModuleLoader#unload) to unload sub-modules, if any.

Returns:
  • The aggregated status returned by sub-modules (if any) once they unload themselves.
Type
Object