Dependencies update.
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStation.js
index f6ed30629d6fa813ee258534dc018814de88e07a..7315f73f98e6c7fcef257ceeaa1854d0d3f93495 100644 (file)
@@ -180,10 +180,11 @@ class ChargingStation {
   }
 
   async onMessage(message) {
-    // Parse the message
-    const [messageType, messageId, commandName, commandPayload, errorDetails] = JSON.parse(message);
-
+    let [messageType, messageId, commandName, commandPayload, errorDetails] = [0, '', Constants.ENTITY_CHARGING_STATION, '', ''];
     try {
+      // Parse the message
+      [messageType, messageId, commandName, commandPayload, errorDetails] = JSON.parse(message);
+
       // Check the Type of message
       switch (messageType) {
         // Incoming Message
@@ -298,14 +299,8 @@ class ChargingStation {
         // Error Message
         case Constants.OCPP_JSON_CALL_ERROR_MESSAGE:
           // Build Message
-          // eslint-disable-next-line no-case-declarations
-          const {
-            code,
-            message,
-            details,
-          } = command;
-          this._statistics.addMessage(`Error ${code}`);
-          messageToSend = JSON.stringify([messageType, messageId, code, message, details]);
+          this._statistics.addMessage(`Error ${command.code}`);
+          messageToSend = JSON.stringify([messageType, messageId, command.code ? command.code : Constants.OCPP_ERROR_GENERIC_ERROR, command.message ? command.message : '', command.details ? command.details : {}]);
           break;
       }
       // Check if wsConnection in ready
@@ -499,36 +494,26 @@ class ChargingStation {
     const keyToChange = this._configuration.configurationKey.find((element) => element.key === commandPayload.key);
     if (keyToChange) {
       keyToChange.value = commandPayload.value;
-      return {
-        status: 'Accepted',
-      };
+      return Constants.OCPP_RESPONSE_ACCEPTED;
     }
-    return {
-      status: 'Rejected',
-    };
+    return Constants.OCPP_RESPONSE_REJECTED;
   }
 
   async handleRemoteStartTransaction(commandPayload) {
     const transactionConnectorID = (commandPayload.connectorId ? commandPayload.connectorId : '1');
     if (this.isAuthorizationRequested() && this._authorizeRemoteTxRequests) {
-      // check if authorized
+      // Check if authorized
       if (this._authorizedKeys.find((value) => value === commandPayload.idTag)) {
         // Authorization successful start transaction
         setTimeout(() => this.sendStartTransaction(transactionConnectorID, commandPayload.idTag), 500);
-        return {
-          status: 'Accepted',
-        };
+        return Constants.OCPP_RESPONSE_ACCEPTED;
       }
       // Start authorization checks
-      return {
-        status: 'Rejected',
-      };
+      return Constants.OCPP_RESPONSE_REJECTED;
     }
-    // no local authorization check required => start transaction
+    // No local authorization check required => start transaction
     setTimeout(() => this.sendStartTransaction(transactionConnectorID, commandPayload.idTag), 500);
-    return {
-      status: 'Accepted',
-    };
+    return Constants.OCPP_RESPONSE_ACCEPTED;
   }
 
   async sendStartTransaction(connectorID, idTag) {
@@ -648,9 +633,7 @@ class ChargingStation {
         this.sendStopTransaction(commandPayload.transactionId, connector);
       }
     }
-    return {
-      status: 'Accepted',
-    };
+    return Constants.OCPP_RESPONSE_ACCEPTED;
   }
 
   isAuthorizationRequested() {