# Module: chiefConfiguration

Contains all the functions to manage the configuration system, such as loading, setup, parsing & processing.

Author:
  - Seth Hollingsead
Copyright:
  - Copyright © 2022-… by Seth Hollingsead. All rights reserved
Source:
  - controllers/chiefConfiguration.js, line 1

### Requires

- module:ruleBroker
- module:chiefData
- module:configurator
- module:loggers
- module:data
- @haystacks/constants
- path

### Methods

#### (inner) parseLoadedConfigurationData(allConfigurationData) → {boolean}

Parses through all of the configuration data that we just loaded from the XML files and adds that data to the correct data-structures in the D.[configuration] data hive.

##### Parameters:

Name | Type | Description
--- | --- | ---
`allConfigurationData` | object | A JSON data structure object that contains all configuration meta-data.

Author:
  - Seth Hollingsead
Source:
  - controllers/chiefConfiguration.js, line 230

##### Returns:

True or False to indicate if the configuration data was applied successfully or not.

Type
  boolean

#### (inner) parsePluginConfigurationData(allPluginConfigData) → {object}

Loads and parses the plugin configuration data.

##### Parameters:

Name | Type | Description
--- | --- | ---
`allPluginConfigData` | string | The plugin configuration data loaded from the path, that needs parsing.

Author:
  - Seth Hollingsead
Source:
  - controllers/chiefConfiguration.js, line 102

##### Returns:

The JSON object after all the parsing and processing operations are completed.

Type
  object

#### (inner) setupConfiguration(appConfigPath, frameworkConfigPath) → {void}

Sets up all of the application and framework configuration data.

##### Parameters:

Name | Type | Description
--- | --- | ---
`appConfigPath` | string | The path of the configuration files for the application layer.
`frameworkConfigPath` | string | The path of the configuration files for the framework layer.

Author:
  - Seth Hollingsead
Source:
  - controllers/chiefConfiguration.js, line 33

##### Returns:

Type
  void

#### (inner) setupPluginConfiguration(pluginConfigPath) → {object}

Sets up all of the plugin configuration data.

##### Parameters:

Name | Type | Description
--- | --- | ---
`pluginConfigPath` | string | The path of the configuration files for the plugin layer.

Author:
  - Seth Hollingsead
Source:
  - controllers/chiefConfiguration.js, line 74

##### Returns:

All of the loaded and parsed plugin configuration data.

Type
  object