js/topology/registry/loaders/load_applications.js
- // SERVER IMPORTS
- import load_application from './load_application'
-
-
- const context = 'common/topology/registry/loaders/load_applications'
-
-
-
- /**
- * Load the 'config.applications' key of the final state
- * Pure function: (Plain Object) => (mutated Plain Object)
- */
- function load_applications(logs, arg_config, arg_config_packages, arg_config_plugins, arg_config_services, arg_base_dir)
- {
- logs.info(context, 'loading world.tenants.*.applications')
-
- try{
- // LOOP ON APPLICATIONS
- let error = undefined
- Object.keys(arg_config).forEach(
- function(app_name)
- {
- if (arg_config.error)
- {
- error = arg_config.error
- }
- if (error)
- {
- logs.info(context, 'skip applications.' + app_name + ' because an error occured.')
- return
- }
-
- logs.info(context, 'loading world.tenants.*.applications.' + app_name)
-
- let app_cfg = arg_config[app_name]
- app_cfg = load_application(logs, app_name, app_cfg, arg_config_packages, arg_config_plugins, arg_config_services, arg_base_dir)
- // console.error(context, app_cfg)
-
- // PROCESS ERRORS
- if (app_cfg.error)
- {
- error = app_cfg.error
- error.context = error.context + ' for ' + app_name
- // console.log(context + ' has error for ' + app_name, app_cfg.error)
- }
- }
- )
-
- if (error)
- {
- arg_config = { error: error }
- // console.error(context, error)
- }
- }
- catch(e)
- {
- arg_config = { error: { context:context, exception:e } }
- }
-
- return arg_config
- }
-
- export default load_applications