X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FConfiguration.ts;h=1cec80f038366ac590211b331d865bea4becc96e;hb=36c1166db79b6b2631b1419a6ec47415c413ac06;hp=596b685cbf7be0636f4ec7a0ba74c0668bf0c16b;hpb=5199f9fdf202eb534948f165a0994e1993675aa8;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Configuration.ts b/src/utils/Configuration.ts index 596b685c..1cec80f0 100644 --- a/src/utils/Configuration.ts +++ b/src/utils/Configuration.ts @@ -90,8 +90,7 @@ export class Configuration { public static getSupervisionUrls (): string | string[] | undefined { if ( - Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData] !== - undefined + Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData] != null ) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion Configuration.getConfigurationData()!.supervisionUrls = Configuration.getConfigurationData()![ @@ -177,17 +176,37 @@ export class Configuration { } private static buildPerformanceStorageSection (): StorageConfiguration { - let storageConfiguration: StorageConfiguration = { - enabled: false, - type: StorageType.JSON_FILE, - uri: getDefaultPerformanceStorageUri(StorageType.JSON_FILE) + let storageConfiguration: StorageConfiguration + switch (Configuration.getConfigurationData()?.performanceStorage?.type) { + case StorageType.SQLITE: + storageConfiguration = { + enabled: false, + type: StorageType.SQLITE, + uri: getDefaultPerformanceStorageUri(StorageType.SQLITE) + } + break + case StorageType.JSON_FILE: + storageConfiguration = { + enabled: false, + type: StorageType.JSON_FILE, + uri: getDefaultPerformanceStorageUri(StorageType.JSON_FILE) + } + break + case StorageType.NONE: + default: + storageConfiguration = { + enabled: true, + type: StorageType.NONE + } + break } if (hasOwnProp(Configuration.getConfigurationData(), ConfigurationSection.performanceStorage)) { storageConfiguration = { ...storageConfiguration, ...Configuration.getConfigurationData()?.performanceStorage, - ...(Configuration.getConfigurationData()?.performanceStorage?.type === - StorageType.JSON_FILE && + ...((Configuration.getConfigurationData()?.performanceStorage?.type === + StorageType.JSON_FILE || + Configuration.getConfigurationData()?.performanceStorage?.type === StorageType.SQLITE) && Configuration.getConfigurationData()?.performanceStorage?.uri != null && { uri: buildPerformanceUriFilePath( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion @@ -317,8 +336,8 @@ export class Configuration { undefined, "Use 'stationTemplateUrls' instead" ) - Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData] !== - undefined && + Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData] != + null && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion (Configuration.getConfigurationData()!.stationTemplateUrls = // eslint-disable-next-line @typescript-eslint/no-non-null-assertion @@ -328,7 +347,7 @@ export class Configuration { Configuration.getConfigurationData()?.stationTemplateUrls.forEach( (stationTemplateUrl: StationTemplateUrl) => { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (stationTemplateUrl['numberOfStation' as keyof StationTemplateUrl] !== undefined) { + if (stationTemplateUrl['numberOfStation' as keyof StationTemplateUrl] != null) { console.error( `${chalk.green(logPrefix())} ${chalk.red( `Deprecated configuration key 'numberOfStation' usage for template file '${stationTemplateUrl.file}' in 'stationTemplateUrls'. Use 'numberOfStations' instead` @@ -489,14 +508,13 @@ export class Configuration { ): void { if ( sectionName != null && - Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] !== - undefined && + Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] != null && ( Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] as Record< string, unknown > - )[key] !== undefined + )[key] != null ) { console.error( `${chalk.green(logPrefix())} ${chalk.red( @@ -505,9 +523,7 @@ export class Configuration { }` )}` ) - } else if ( - Configuration.getConfigurationData()?.[key as keyof ConfigurationData] !== undefined - ) { + } else if (Configuration.getConfigurationData()?.[key as keyof ConfigurationData] != null) { console.error( `${chalk.green(logPrefix())} ${chalk.red( `Deprecated configuration key '${key}' usage${ @@ -545,7 +561,7 @@ export class Configuration { if ( !Configuration.configurationFileReloading && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - filename!.trim()!.length > 0 && + filename!.trim().length > 0 && event === 'change' ) { Configuration.configurationFileReloading = true @@ -557,9 +573,9 @@ export class Configuration { ) delete Configuration.configurationData Configuration.configurationSectionCache.clear() - if (Configuration.configurationChangeCallback !== undefined) { + if (Configuration.configurationChangeCallback != null) { Configuration.configurationChangeCallback() - .catch((error) => { + .catch(error => { throw typeof error === 'string' ? new Error(error) : error }) .finally(() => {