feat: allow to override supervisionUrls at adding charging stations
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStation.ts
index 38d40dc1323b313280010ade231f7cfbc5eee8cf..72bfd0aeceeadb0737b6f4629aab0586e87fe768 100644 (file)
@@ -535,6 +535,15 @@ export class ChargingStation extends EventEmitter {
     return Constants.DEFAULT_HEARTBEAT_INTERVAL
   }
 
+  public setSupervisionUrls (urls: string | string[], saveStationInfo = true): void {
+    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+    this.stationInfo!.supervisionUrls = urls
+    if (saveStationInfo) {
+      this.saveStationInfo()
+    }
+    this.configuredSupervisionUrl = this.getConfiguredSupervisionUrl()
+  }
+
   public setSupervisionUrl (url: string): void {
     if (
       this.stationInfo?.supervisionUrlOcppConfiguration === true &&
@@ -542,10 +551,7 @@ export class ChargingStation extends EventEmitter {
     ) {
       setConfigurationKeyValue(this, this.stationInfo.supervisionUrlOcppKey, url)
     } else {
-      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-      this.stationInfo!.supervisionUrls = url
-      this.saveStationInfo()
-      this.configuredSupervisionUrl = this.getConfiguredSupervisionUrl()
+      this.setSupervisionUrls(url)
     }
   }
 
@@ -1245,6 +1251,7 @@ export class ChargingStation extends EventEmitter {
       stationInfoFromFile.templateHash === stationInfoFromTemplate.templateHash
     ) {
       return setChargingStationOptions(
+        this,
         { ...Constants.DEFAULT_STATION_INFO, ...stationInfoFromFile },
         options
       )
@@ -1256,6 +1263,7 @@ export class ChargingStation extends EventEmitter {
         stationInfoFromTemplate
       )
     return setChargingStationOptions(
+      this,
       { ...Constants.DEFAULT_STATION_INFO, ...stationInfoFromTemplate },
       options
     )