Ensure configuration key have default settings values
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / OCPPRequestService.ts
index e5047d33e2ec8d05a1a6021b6d921d5df0cded17..7b50b62a3de321a1212b99fbf935e6e0fe461128 100644 (file)
@@ -1,5 +1,4 @@
 import {
-  DiagnosticsStatus,
   IncomingRequestCommand,
   RequestCommand,
   ResponseType,
@@ -42,13 +41,13 @@ export default abstract class OCPPRequestService {
     chargingStation: ChargingStation,
     ocppResponseService: OCPPResponseService
   ): T {
-    if (!OCPPRequestService.instances.has(chargingStation.id)) {
+    if (!OCPPRequestService.instances.has(chargingStation.hashId)) {
       OCPPRequestService.instances.set(
-        chargingStation.id,
+        chargingStation.hashId,
         new this(chargingStation, ocppResponseService)
       );
     }
-    return OCPPRequestService.instances.get(chargingStation.id) as T;
+    return OCPPRequestService.instances.get(chargingStation.hashId) as T;
   }
 
   public async sendResult(
@@ -211,7 +210,6 @@ export default abstract class OCPPRequestService {
               resolve(payload);
             } catch (error) {
               reject(error);
-              throw error;
             } finally {
               self.chargingStation.requests.delete(messageId);
             }
@@ -317,9 +315,9 @@ export default abstract class OCPPRequestService {
     }
   }
 
-  public abstract sendMessageHandler(
+  public abstract sendMessageHandler<Response extends JsonType>(
     commandName: RequestCommand,
     commandParams?: JsonType,
     params?: SendParams
-  ): Promise<ResponseType>;
+  ): Promise<Response>;
 }