fix(simulator): lookup OCPP configuration key case insensitively
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStationConfigurationUtils.ts
index f79a7375ea72dc2ea0816d2a723cca26267b1860..e31e6bfb010f44fffde1580d7a63d7ae178307c9 100644 (file)
@@ -1,7 +1,7 @@
+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';
 
 type ConfigurationKeyOptions = { readonly?: boolean; visible?: boolean; reboot?: boolean };
 type DeleteConfigurationKeyParams = { save?: boolean; caseInsensitive?: boolean };
@@ -17,7 +17,7 @@ export class ChargingStationConfigurationUtils {
     key: string | StandardParametersKey,
     caseInsensitive = false
   ): ConfigurationKey | undefined {
-    return chargingStation.ocppConfiguration.configurationKey.find((configElement) => {
+    return chargingStation.ocppConfiguration?.configurationKey?.find((configElement) => {
       if (caseInsensitive) {
         return configElement.key.toLowerCase() === key.toLowerCase();
       }
@@ -48,7 +48,7 @@ export class ChargingStationConfigurationUtils {
       keyFound = undefined;
     }
     if (!keyFound) {
-      chargingStation.ocppConfiguration.configurationKey.push({
+      chargingStation.ocppConfiguration?.configurationKey?.push({
         key,
         readonly: options.readonly,
         value,
@@ -92,14 +92,14 @@ export class ChargingStationConfigurationUtils {
     chargingStation: ChargingStation,
     key: string | StandardParametersKey,
     params: DeleteConfigurationKeyParams = { save: true, caseInsensitive: false }
-  ): ConfigurationKey[] {
+  ): 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
       );