refactor: factor out performance records JSON file path building
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
index 09e2b0cc5a7df446239c90839607c57f64262aab..72555e64d5006ced8ecef53a05cff62c5b449e9d 100644 (file)
@@ -1,24 +1,27 @@
-import type ChargingStation from '../../charging-station/ChargingStation';
-import type OCPPError from '../../exception/OCPPError';
-import type { JsonType } from '../JsonType';
-import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
-import type { OCPP16MeterValuesRequest } from './1.6/MeterValues';
+import type { ChargingStation } from '../../charging-station';
+import type { OCPPError } from '../../exception';
 import {
+  type JsonType,
+  type MessageType,
   OCPP16AvailabilityType,
   type OCPP16BootNotificationRequest,
   type OCPP16DataTransferRequest,
+  OCPP16DiagnosticsStatus,
+  type OCPP16DiagnosticsStatusNotificationRequest,
+  OCPP16FirmwareStatus,
+  type OCPP16FirmwareStatusNotificationRequest,
   type OCPP16HeartbeatRequest,
   OCPP16IncomingRequestCommand,
   OCPP16MessageTrigger,
+  type OCPP16MeterValuesRequest,
   OCPP16RequestCommand,
   type OCPP16StatusNotificationRequest,
-} from './1.6/Requests';
-import {
   type OCPP20BootNotificationRequest,
   OCPP20IncomingRequestCommand,
   OCPP20RequestCommand,
-} from './2.0/Requests';
-import type { MessageType } from './MessageType';
+  type OCPP20StatusNotificationRequest,
+  OperationalStatusEnumType,
+} from '../internal';
 
 export const RequestCommand = {
   ...OCPP16RequestCommand,
@@ -31,6 +34,7 @@ export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand,
 export type RequestParams = {
   skipBufferingOnError?: boolean;
   triggerMessage?: boolean;
+  throwError?: boolean;
 };
 
 export const IncomingRequestCommand = {
@@ -61,12 +65,18 @@ export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20Boot
 
 export type HeartbeatRequest = OCPP16HeartbeatRequest;
 
-export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
+export type StatusNotificationRequest =
+  | OCPP16StatusNotificationRequest
+  | OCPP20StatusNotificationRequest;
 
 export type MeterValuesRequest = OCPP16MeterValuesRequest;
 
 export type DataTransferRequest = OCPP16DataTransferRequest;
 
+export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest;
+
+export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest;
+
 export type IncomingRequestHandler = (
   chargingStation: ChargingStation,
   commandPayload: JsonType
@@ -74,12 +84,18 @@ export type IncomingRequestHandler = (
 
 export const AvailabilityType = {
   ...OCPP16AvailabilityType,
+  ...OperationalStatusEnumType,
 } as const;
-export type AvailabilityType = OCPP16AvailabilityType;
+export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType;
 
 export const DiagnosticsStatus = {
   ...OCPP16DiagnosticsStatus,
 } as const;
 export type DiagnosticsStatus = OCPP16DiagnosticsStatus;
 
+export const FirmwareStatus = {
+  ...OCPP16FirmwareStatus,
+} as const;
+export type FirmwareStatus = OCPP16FirmwareStatus;
+
 export type ResponseType = JsonType | OCPPError;