refactor: cleanup reservation handling code
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Responses.ts
index c2b1f53a55a71cf39029238a417d691fb1612070..8735dc8ae10f2cf72362fe0ee9388a773794a9c2 100644 (file)
@@ -1,9 +1,8 @@
-import type ChargingStation from '../../charging-station/ChargingStation';
-import type { JsonType } from '../JsonType';
 import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
 import {
   OCPP16AvailabilityStatus,
   type OCPP16BootNotificationResponse,
+  type OCPP16CancelReservationResponse,
   OCPP16ChargingProfileStatus,
   OCPP16ClearChargingProfileStatus,
   OCPP16ConfigurationStatus,
@@ -12,13 +11,20 @@ import {
   type OCPP16DiagnosticsStatusNotificationResponse,
   type OCPP16FirmwareStatusNotificationResponse,
   type OCPP16HeartbeatResponse,
+  OCPP16ReservationStatus,
   type OCPP16StatusNotificationResponse,
   OCPP16TriggerMessageStatus,
   OCPP16UnlockStatus,
 } from './1.6/Responses';
-import type { OCPP20BootNotificationResponse } from './2.0/Responses';
+import type {
+  OCPP20BootNotificationResponse,
+  OCPP20ClearCacheResponse,
+  OCPP20StatusNotificationResponse,
+} from './2.0/Responses';
 import type { ErrorType } from './ErrorType';
 import type { MessageType } from './MessageType';
+import type { ChargingStation } from '../../charging-station';
+import type { JsonType } from '../JsonType';
 
 export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
 
@@ -36,7 +42,11 @@ export type BootNotificationResponse =
 
 export type HeartbeatResponse = OCPP16HeartbeatResponse;
 
-export type StatusNotificationResponse = OCPP16StatusNotificationResponse;
+export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse;
+
+export type StatusNotificationResponse =
+  | OCPP16StatusNotificationResponse
+  | OCPP20StatusNotificationResponse;
 
 export type MeterValuesResponse = OCPP16MeterValuesResponse;
 
@@ -46,13 +56,13 @@ export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotif
 
 export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse;
 
-export enum DefaultStatus {
-  ACCEPTED = 'Accepted',
-  REJECTED = 'Rejected',
+export enum GenericStatus {
+  Accepted = 'Accepted',
+  Rejected = 'Rejected',
 }
 
-export type DefaultResponse = {
-  status: DefaultStatus;
+export type GenericResponse = {
+  status: GenericStatus;
 };
 
 export enum RegistrationStatusEnumType {
@@ -95,3 +105,14 @@ export const DataTransferStatus = {
   ...OCPP16DataTransferStatus,
 } as const;
 export type DataTransferStatus = OCPP16DataTransferStatus;
+
+export type ReservationStatus = OCPP16ReservationStatus;
+export const ReservationStatus = {
+  ...OCPP16ReservationStatus,
+};
+
+export const CancelReservationStatus = {
+  ...GenericStatus,
+};
+
+export type CancelReservationResponse = OCPP16CancelReservationResponse;