build(simulator): fix type import
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStationConfigurationUtils.ts
index 8a046715393a2e9565714aad7f4f2d6eefba74c5..579e2ab49f2f129f5a7e362768636b39070ed7b0 100644 (file)
@@ -1,7 +1,10 @@
-import { ConfigurationKey } from '../types/ChargingStationOcppConfiguration';
-import { StandardParametersKey } from '../types/ocpp/Configuration';
-import logger from '../utils/Logger';
-import ChargingStation from './ChargingStation';
+import type { ChargingStation } from './internal';
+import type { ConfigurationKey, ConfigurationKeyType } from '../types';
+import { logger } from '../utils';
+
+type ConfigurationKeyOptions = { readonly?: boolean; visible?: boolean; reboot?: boolean };
+type DeleteConfigurationKeyParams = { save?: boolean; caseInsensitive?: boolean };
+type AddConfigurationKeyParams = { overwrite?: boolean; save?: boolean };
 
 export class ChargingStationConfigurationUtils {
   private constructor() {
@@ -10,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();
       }
@@ -23,16 +26,16 @@ export class ChargingStationConfigurationUtils {
 
   public static addConfigurationKey(
     chargingStation: ChargingStation,
-    key: string | StandardParametersKey,
+    key: ConfigurationKeyType,
     value: string,
-    options: { readonly?: boolean; visible?: boolean; reboot?: boolean } = {
+    options: ConfigurationKeyOptions = {
       readonly: false,
       visible: true,
       reboot: false,
     },
-    params: { overwrite?: boolean; save?: boolean } = { overwrite: false, save: false }
+    params: AddConfigurationKeyParams = { overwrite: false, save: false }
   ): void {
-    options = options ?? ({} as { readonly?: boolean; visible?: boolean; reboot?: boolean });
+    options = options ?? ({} as ConfigurationKeyOptions);
     options.readonly = options?.readonly ?? false;
     options.visible = options?.visible ?? true;
     options.reboot = options?.reboot ?? false;
@@ -44,7 +47,7 @@ export class ChargingStationConfigurationUtils {
       keyFound = undefined;
     }
     if (!keyFound) {
-      chargingStation.ocppConfiguration.configurationKey.push({
+      chargingStation.ocppConfiguration?.configurationKey?.push({
         key,
         readonly: options.readonly,
         value,
@@ -62,7 +65,7 @@ export class ChargingStationConfigurationUtils {
 
   public static setConfigurationKeyValue(
     chargingStation: ChargingStation,
-    key: string | StandardParametersKey,
+    key: ConfigurationKeyType,
     value: string,
     caseInsensitive = false
   ): void {
@@ -86,16 +89,16 @@ export class ChargingStationConfigurationUtils {
 
   public static deleteConfigurationKey(
     chargingStation: ChargingStation,
-    key: string | StandardParametersKey,
-    params: { save?: boolean; caseInsensitive?: boolean } = { save: true, caseInsensitive: false }
-  ): ConfigurationKey[] {
+    key: ConfigurationKeyType,
+    params: DeleteConfigurationKeyParams = { save: true, caseInsensitive: false }
+  ): ConfigurationKey[] | undefined {
     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
       );