X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FChargingStationConfigurationUtils.ts;h=7ffb4e216fbdb26b8becc72b3c4d19cddec6d2a0;hb=0b22144c135af531858c989650e864edb352764d;hp=4bae70f2e60bd94a46f7141b5aa825bd6609917c;hpb=1895299db899eb53db7fb1615b82624f806017e8;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ChargingStationConfigurationUtils.ts b/src/charging-station/ChargingStationConfigurationUtils.ts index 4bae70f2..7ffb4e21 100644 --- a/src/charging-station/ChargingStationConfigurationUtils.ts +++ b/src/charging-station/ChargingStationConfigurationUtils.ts @@ -1,7 +1,6 @@ -import type ChargingStation from './ChargingStation'; -import type { ConfigurationKey } from '../types/ChargingStationOcppConfiguration'; -import type { StandardParametersKey } from '../types/ocpp/Configuration'; -import logger from '../utils/Logger'; +import type { ChargingStation } from './ChargingStation'; +import type { ConfigurationKey, ConfigurationKeyType } from '../types'; +import { logger } from '../utils'; type ConfigurationKeyOptions = { readonly?: boolean; visible?: boolean; reboot?: boolean }; type DeleteConfigurationKeyParams = { save?: boolean; caseInsensitive?: boolean }; @@ -14,10 +13,10 @@ export class ChargingStationConfigurationUtils { public static getConfigurationKey( chargingStation: ChargingStation, - key: string | StandardParametersKey, + key: ConfigurationKeyType, caseInsensitive = false ): ConfigurationKey | undefined { - return chargingStation.ocppConfiguration.configurationKey?.find(configElement => { + return chargingStation.ocppConfiguration?.configurationKey?.find((configElement) => { if (caseInsensitive) { return configElement.key.toLowerCase() === key.toLowerCase(); } @@ -27,7 +26,7 @@ export class ChargingStationConfigurationUtils { public static addConfigurationKey( chargingStation: ChargingStation, - key: string | StandardParametersKey, + key: ConfigurationKeyType, value: string, options: ConfigurationKeyOptions = { readonly: false, @@ -36,10 +35,15 @@ export class ChargingStationConfigurationUtils { }, params: AddConfigurationKeyParams = { overwrite: false, save: false } ): void { - options = options ?? ({} as ConfigurationKeyOptions); - options.readonly = options?.readonly ?? false; - options.visible = options?.visible ?? true; - options.reboot = options?.reboot ?? false; + options = { + ...{ + readonly: false, + visible: true, + reboot: false, + }, + ...options, + }; + params = { ...{ overwrite: false, save: false }, ...params }; let keyFound = ChargingStationConfigurationUtils.getConfigurationKey(chargingStation, key); if (keyFound && params?.overwrite) { ChargingStationConfigurationUtils.deleteConfigurationKey(chargingStation, keyFound.key, { @@ -48,7 +52,7 @@ export class ChargingStationConfigurationUtils { keyFound = undefined; } if (!keyFound) { - chargingStation.ocppConfiguration.configurationKey?.push({ + chargingStation.ocppConfiguration?.configurationKey?.push({ key, readonly: options.readonly, value, @@ -66,7 +70,7 @@ export class ChargingStationConfigurationUtils { public static setConfigurationKeyValue( chargingStation: ChargingStation, - key: string | StandardParametersKey, + key: ConfigurationKeyType, value: string, caseInsensitive = false ): void { @@ -90,16 +94,17 @@ export class ChargingStationConfigurationUtils { public static deleteConfigurationKey( chargingStation: ChargingStation, - key: string | StandardParametersKey, + key: ConfigurationKeyType, params: DeleteConfigurationKeyParams = { save: true, caseInsensitive: false } ): ConfigurationKey[] | undefined { + params = { ...{ save: true, caseInsensitive: false }, ...params }; const keyFound = ChargingStationConfigurationUtils.getConfigurationKey( chargingStation, key, params?.caseInsensitive ); if (keyFound) { - const deletedConfigurationKey = chargingStation.ocppConfiguration.configurationKey.splice( + const deletedConfigurationKey = chargingStation.ocppConfiguration?.configurationKey?.splice( chargingStation.ocppConfiguration.configurationKey.indexOf(keyFound), 1 );