build(deps): apply updates
[e-mobility-charging-stations-simulator.git] / src / exception / OCPPError.ts
index cfcc4f40c8dacc0c6eefcd07e71706877cbb3c01..5736ad277a1b981907c052eadc9c06aba04b342a 100644 (file)
@@ -1,20 +1,30 @@
-// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import { BaseError } from './BaseError';
+import {
+  ErrorType,
+  type IncomingRequestCommand,
+  type JsonType,
+  type RequestCommand,
+} from '../types';
+import { Constants } from '../utils';
 
-import BaseError from './BaseError';
-import { ErrorType } from '../types/ocpp/ErrorType';
-
-export default class OCPPError extends BaseError {
-  code: ErrorType | IncomingRequestCommand;
+export class OCPPError extends BaseError {
+  code: ErrorType;
   command?: RequestCommand | IncomingRequestCommand;
-  details?: Record<string, unknown>;
+  details?: JsonType;
 
-  constructor(code: ErrorType | IncomingRequestCommand, message: string, command?: RequestCommand | IncomingRequestCommand, details?: Record<string, unknown>) {
+  constructor(
+    code: ErrorType,
+    message: string,
+    command?: RequestCommand | IncomingRequestCommand,
+    details?: JsonType,
+  ) {
     super(message);
 
-    this.code = code ?? ErrorType.GENERIC_ERROR;
-    this.command = command;
-    this.details = details ?? {};
+    this.code = code;
+    this.command =
+      command ?? (Constants.UNKNOWN_COMMAND as RequestCommand | IncomingRequestCommand);
+    this.details = details;
   }
 }