FileConfigurationService
Class: FileConfigurationService<T>
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:11
Allow for dynamic configuration from a file
Webda Modda
Webda/FileConfiguration
Extends
Type Parameters
T
T extends ConfigurationServiceParameters = ConfigurationServiceParameters
Constructors
Constructor
new FileConfigurationService<
T>(name,params):FileConfigurationService<T>
Defined in: packages/core/src/services/service.ts:205
Create a new Service instance
Service
Parameters
name
string
The name of the service
params
T
The parameters block define in the configuration file
Returns
FileConfigurationService<T>
Inherited from
ConfigurationService.constructor
Properties
_compiledCapabilities
protected_compiledCapabilities:Record<string,any> ={}
Defined in: packages/core/src/services/iservice.ts:61
Capabilities detected at compile-time from @WebdaCapability-tagged interfaces.
Populated during Service.resolve by reading the service's entry in
webda.module.json. Each key is a capability name (e.g., "request-filter"),
and the value is an empty object {} by default. Override getCapabilities
to provide capability-specific configuration or to conditionally disable capabilities.
See
getCapabilities
Inherited from
ConfigurationService._compiledCapabilities
[WEBDA_EVENTS]
[WEBDA_EVENTS]:
ConfigurationEvents
Defined in: packages/core/src/services/service.ts:179
Set the Webda events here
Inherited from
ConfigurationService.[WEBDA_EVENTS]
configuration
protectedconfiguration:any
Defined in: packages/core/src/configurations/configuration.service.ts:137
Current configuration
Inherited from
ConfigurationService.configuration
logger
protectedlogger:Logger
Defined in: packages/core/src/services/service.ts:192
Logger with class context
Inherited from
metrics?
protectedoptionalmetrics?:object
Defined in: packages/core/src/services/service.ts:196
Get metrics
Inherited from
name
readonlyname:string
Defined in: packages/core/src/services/iservice.ts:35
Name
Inherited from
nextCheck
protectednextCheck:number
Defined in: packages/core/src/configurations/configuration.service.ts:125
Next check
Inherited from
ConfigurationService.nextCheck
parameters
readonlyparameters:T
Defined in: packages/core/src/services/iservice.ts:39
Parameters
Inherited from
ConfigurationService.parameters
serializedConfiguration
protectedserializedConfiguration:any
Defined in: packages/core/src/configurations/configuration.service.ts:121
Serialized configuration
Inherited from
ConfigurationService.serializedConfiguration
sourcePaths
sourcePaths:
Record<string,string> ={}
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:17
Source paths
sources
protectedsources:object[] =[]
Defined in: packages/core/src/configurations/configuration.service.ts:129
List of sources (service and id) to load and merge ( in order )
id
id:
string
service
service:
ConfigurationProvider
Inherited from
watched
protectedwatched:object[] =[]
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:21
Files watched for changes, with their listener
callback
callback: () =>
void
Returns
void
path
path:
string
createConfiguration?
staticoptionalcreateConfiguration?: (params) =>any
Defined in: packages/core/src/services/iservice.ts:44
Create configuration set by the application on load
Parameters
params
any
Returns
any
Inherited from
ConfigurationService.createConfiguration
filterConfiguration?
staticoptionalfilterConfiguration?: (params) =>any
Defined in: packages/core/src/services/iservice.ts:49
Create configuration set by the application on load
Parameters
params
any
Returns
any
Inherited from
ConfigurationService.filterConfiguration
Parameters
staticParameters: typeofServiceParameters=ServiceParameters
Defined in: packages/core/src/services/service.ts:175
Service parameters
Inherited from
ConfigurationService.Parameters
Methods
__clean()
abstract__clean():Promise<void>
Defined in: packages/core/src/services/service.ts:539
Clean the service data, can only be used in test mode
Returns
Promise<void>
Inherited from
addListener()
addListener<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:90
Add listener
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName
Key
the event name
listener
(event) => void | Promise<void>
the event listener
Returns
this
this for chaining
See
EventEmitter.addListener
Inherited from
ConfigurationService.addListener
addRoute()
protectedaddRoute(url,methods,executer,openapi?,override?):void
Defined in: packages/core/src/services/service.ts:400
Add a route dynamicaly
Parameters
url
string
of the route can contains dynamic part like {uuid}
methods
the HTTP methods
executer
Function
Method to execute for this route
openapi?
the OpenAPI specification
override?
boolean = false
whether to override existing
Returns
void
Inherited from
authorizeClientEvent()
authorizeClientEvent(
_event,_context):boolean
Defined in: packages/core/src/services/service.ts:353
Authorize a public event subscription
Parameters
_event
string
the event name
_context
the execution context
Returns
boolean
true if the condition is met
Inherited from
ConfigurationService.authorizeClientEvent
bootstrap()
bootstrap(
core):Promise<void>
Defined in: packages/core/src/configurations/configuration.service.ts:302
Bootstrap operation
Parameters
core
the Core instance
Returns
Promise<void>
Inherited from
ConfigurationService.bootstrap
canTriggerConfiguration()
canTriggerConfiguration(
id,callback,defaultValue?):boolean
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:63
Watch the configuration file for changes and trigger the callback when modified
Parameters
id
string
the identifier
callback
() => void
the callback function
defaultValue?
any
the default value
Returns
boolean
the result
Overrides
ConfigurationService.canTriggerConfiguration
checkUpdate()
protectedcheckUpdate(dynamic?):Promise<void>
Defined in: packages/core/src/configurations/configuration.service.ts:252
Checking for configuration updates
Parameters
dynamic?
boolean = false
whether the registration is dynamic
Returns
Promise<void>
the result
Inherited from
ConfigurationService.checkUpdate
computeParameters()
computeParameters():
void
Defined in: packages/core/src/services/service.ts:214
Used to compute or derivate input parameter to attribute
Returns
void
Deprecated
Inherited from
ConfigurationService.computeParameters
decryptConfiguration()
protecteddecryptConfiguration(configuration,core):Promise<any>
Defined in: packages/core/src/configurations/configuration.service.ts:288
Decrypt a configuration with the application encryption settings, overridden by its own
Parameters
configuration
any
the configuration to decrypt
core
the Core instance
Returns
Promise<any>
the decrypted copy
Inherited from
ConfigurationService.decryptConfiguration
emit()
emit<
Key>(event,data):Promise<void>
Defined in: packages/core/src/services/service.ts:520
Emit the event with data and wait for Promise to finish if listener returned a Promise
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
event
Key
the event name
data
ConfigurationEvents[Key]
the data to process
Returns
Promise<void>
Inherited from
getCapabilities()
getCapabilities():
Record<string,any>
Defined in: packages/core/src/services/iservice.ts:89
Return the capabilities of this service.
By default returns capabilities detected at compile-time from
Returns
Record<string, any>
the result
Webda Capability-tagged
interfaces in webda.module.json.
Override to disable capabilities based on configuration:
getCapabilities() {
const caps = super.getCapabilities();
if (!this.parameters.enabled) delete caps["request-filter"];
return caps;
}
Inherited from
ConfigurationService.getCapabilities
getClientEvents()
getClientEvents():
string[]
Defined in: packages/core/src/services/service.ts:341
Return the events that an external system can subscribe to
Returns
string[]
the list of results
Inherited from
ConfigurationService.getClientEvents
getConfiguration()
getConfiguration(
id):Promise<{[key:string]:any; }>
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:84
Load the JSON from source defined file
Parameters
id
string
Returns
Promise<{[key: string]: any; }>
Overrides
ConfigurationService.getConfiguration
getFilePath()
getFilePath(
id):string
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:28
Resolve the file path for a given configuration source id, creating from defaults if missing
Parameters
id
string
the identifier
Returns
string
the result string
getMaxListeners()
getMaxListeners():
number
Defined in: packages/core/src/events/asynceventemitter.ts:97
Returns
number
Inherited from
ConfigurationService.getMaxListeners
getMetric()
getMetric<
T>(type,configuration):T
Defined in: packages/core/src/services/service.ts:323
Add service name label
Type Parameters
T
T = Gauge<string> | Counter<string> | Histogram<string>
Parameters
type
CustomConstructor<T, [MetricConfiguration<T>]>
the type to look up
configuration
the configuration
Returns
T
the result
Inherited from
ConfigurationService.getMetric
getName()
getName():
string
Defined in: packages/core/src/services/service.ts:530
Get service name
Returns
string
the result string
Inherited from
getOpenApiReplacements()
getOpenApiReplacements():
any
Defined in: packages/core/src/services/service.ts:429
Return variables for replacement in openapi
Returns
any
the result
Inherited from
ConfigurationService.getOpenApiReplacements
getOperationId()
getOperationId(
id):string
Defined in: packages/core/src/services/service.ts:387
If undefined is returned it cancel the operation registration
Parameters
id
string
the identifier
Returns
string
the result
Inherited from
ConfigurationService.getOperationId
getParameters()
getParameters():
T
Defined in: packages/core/src/services/service.ts:222
Get the service parameters
Returns
T
the result
Inherited from
ConfigurationService.getParameters
getService()
getService<
T>(name):ServicesMap[T]
Defined in: packages/core/src/services/service.ts:313
Get a service by name
Type Parameters
T
T extends keyof ServicesMap
Parameters
name
T
the name to use
Returns
ServicesMap[T]
the result map
Deprecated
Use useService, might reconsider
Inherited from
ConfigurationService.getService
getState()
getState():
ServiceStates
Defined in: packages/core/src/services/service.ts:185
Get the current state
Returns
the result
Inherited from
getUrl()
getUrl(
url,_methods):string
Defined in: packages/core/src/services/service.ts:364
Return the full path url based on parameters
Parameters
url
string
relative url to service
_methods
in case we need filtering (like Store)
Returns
string
absolute url or undefined if need to skip the Route
Inherited from
init()
init():
Promise<FileConfigurationService<T>>
Defined in: packages/core/src/configurations/configuration.service.ts:171
Returns
Promise<FileConfigurationService<T>>
Inherited from
initMetrics()
initMetrics():
void
Defined in: packages/core/src/services/service.ts:303
Init the metrics
Returns
void
Inherited from
ConfigurationService.initMetrics
initOperations()
initOperations():
void
Defined in: packages/core/src/services/service.ts:459
Init the operations from
Returns
void
Operation
decorators on this service
Inherited from
ConfigurationService.initOperations
listeners()
listeners(
eventName):Function[]
Defined in: packages/core/src/events/asynceventemitter.ts:195
Get all listeners for an event
Parameters
eventName
keyof ConfigurationEvents
the event name
Returns
Function[]
the list of results
Inherited from
ConfigurationService.listeners
loadCapabilities()
protectedloadCapabilities():void
Defined in: packages/core/src/services/service.ts:283
Load capabilities from webda.module.json metadata into _compiledCapabilities.
Called during resolve after dependency injection. Reads the service's
type name from parameters, looks it up in the application's module metadata
(moddas or beans section), and populates _compiledCapabilities with an
empty object for each declared capability name.
Fails silently if the application is not available (e.g., in unit tests where services are instantiated without a full application context).
Returns
void
Example
// If webda.module.json contains:
// { "moddas": { "MyApp/HawkService": { "capabilities": ["request-filter", "cors-filter"] } } }
// Then after resolve(), this.getCapabilities() returns:
// { "request-filter": {}, "cors-filter": {} }
See
getCapabilities
Inherited from
ConfigurationService.loadCapabilities
loadConfiguration()
protectedloadConfiguration():Promise<{[key:string]:any; }>
Defined in: packages/core/src/configurations/configuration.service.ts:234
Load the configuration by calling the source service with the source id
Returns
Promise<{[key: string]: any; }>
the result
Inherited from
ConfigurationService.loadConfiguration
log()
log(
level, ...args):void
Defined in: packages/core/src/services/service.ts:561
Log operation
Parameters
level
WorkerLogLevel
to log
args
...any[]
additional arguments
Returns
void
Inherited from
off()
off<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:152
Perform off
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.off
Inherited from
on()
on<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:128
Perform on
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.once
Inherited from
once()
once<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:116
Perform once
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.once
Inherited from
operationSchemaName()
protectedoperationSchemaName(method,side):string
Defined in: packages/core/src/services/service.ts:441
Schema of an operation side: <service name>.<method>.<side> when the application knows it, else the one the
build writes, <class>.<method>.<side>, for the class or its nearest ancestor that has it (a service configured
under another name than its class)
Parameters
method
string
the method name
side
"input" | "output"
input or output
Returns
string
the schema name
Inherited from
ConfigurationService.operationSchemaName
removeAllListeners()
removeAllListeners<
Key>(eventName?):this
Defined in: packages/core/src/events/asynceventemitter.ts:162
Remove all listeners
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName?
Key
the event name
Returns
this
this for chaining
See
EventEmitter.removeAllListeners
Inherited from
ConfigurationService.removeAllListeners
removeListener()
removeListener<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:140
Remove listener
Type Parameters
Key
Key extends keyof ConfigurationEvents
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.removeListener
Inherited from
ConfigurationService.removeListener
resolve()
resolve():
FileConfigurationService<T>
Defined in: packages/core/src/configurations/configuration.service.ts:143
Resolve the service
Returns
FileConfigurationService<T>
the result
Inherited from
setMaxListeners()
setMaxListeners(
n):this
Defined in: packages/core/src/events/asynceventemitter.ts:104
Parameters
n
number
Returns
this
Inherited from
ConfigurationService.setMaxListeners
stop()
stop():
Promise<void>
Defined in: packages/core/src/configurations/fileconfiguration.service.ts:74
Stop watching the configuration files
Returns
Promise<void>
Overrides
toJSON()
toJSON():
string
Defined in: packages/core/src/services/service.ts:499
Prevent service to be serialized
Returns
string
the result
Inherited from
toString()
toString():
string
Defined in: packages/core/src/services/service.ts:238
Return service representation
Returns
string
the result
Inherited from
updateNextCheck()
protectedupdateNextCheck():void
Defined in: packages/core/src/configurations/configuration.service.ts:278
Update the next check time
Returns
void