X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FResponses.ts;h=2cd2f36902e49a6bd130d22a86fc7d53b424fcaa;hb=e1d9a0f4d6ff1a90048e9a694fd12b7031cc6961;hp=d134f545de2e9118152f348fe634ae14c79af428;hpb=05745045efc825738ba9ba4b30d4d4ec932a5dd3;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Responses.ts b/src/types/ocpp/Responses.ts index d134f545..2cd2f369 100644 --- a/src/types/ocpp/Responses.ts +++ b/src/types/ocpp/Responses.ts @@ -1,9 +1,112 @@ -import { OCPP16BootNotificationResponse, OCPP16RegistrationStatus } from './1.6/Responses'; +import type { OCPP16MeterValuesResponse } from './1.6/MeterValues'; +import { + OCPP16AvailabilityStatus, + type OCPP16BootNotificationResponse, + OCPP16ChargingProfileStatus, + OCPP16ClearChargingProfileStatus, + OCPP16ConfigurationStatus, + type OCPP16DataTransferResponse, + OCPP16DataTransferStatus, + type OCPP16DiagnosticsStatusNotificationResponse, + type OCPP16FirmwareStatusNotificationResponse, + type OCPP16HeartbeatResponse, + OCPP16ReservationStatus, + type OCPP16StatusNotificationResponse, + OCPP16TriggerMessageStatus, + OCPP16UnlockStatus, +} from './1.6/Responses'; +import type { OCPP20BootNotificationResponse, OCPP20ClearCacheResponse } from './2.0/Responses'; +import type { ErrorType } from './ErrorType'; +import type { MessageType } from './MessageType'; +import type { ChargingStation } from '../../charging-station'; +import type { JsonObject, JsonType } from '../JsonType'; -export type BootNotificationResponse = OCPP16BootNotificationResponse; +export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType]; -export type RegistrationStatus = OCPP16RegistrationStatus; +export type ErrorResponse = [MessageType.CALL_ERROR_MESSAGE, string, ErrorType, string, JsonType]; -export const RegistrationStatus = { - ...OCPP16RegistrationStatus +export type ResponseHandler = ( + chargingStation: ChargingStation, + payload: JsonType, + requestPayload?: JsonType, +) => void | Promise; + +export type BootNotificationResponse = + | OCPP16BootNotificationResponse + | OCPP20BootNotificationResponse; + +export type HeartbeatResponse = OCPP16HeartbeatResponse; + +export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse; + +export type StatusNotificationResponse = OCPP16StatusNotificationResponse; + +export type MeterValuesResponse = OCPP16MeterValuesResponse; + +export type DataTransferResponse = OCPP16DataTransferResponse; + +export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse; + +export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse; + +export enum GenericStatus { + Accepted = 'Accepted', + Rejected = 'Rejected', +} + +export interface GenericResponse extends JsonObject { + status: GenericStatus; +} + +export enum RegistrationStatusEnumType { + ACCEPTED = 'Accepted', + PENDING = 'Pending', + REJECTED = 'Rejected', +} + +export const AvailabilityStatus = { + ...OCPP16AvailabilityStatus, +} as const; +export type AvailabilityStatus = OCPP16AvailabilityStatus; + +export const ChargingProfileStatus = { + ...OCPP16ChargingProfileStatus, +} as const; +export type ChargingProfileStatus = OCPP16ChargingProfileStatus; + +export const ClearChargingProfileStatus = { + ...OCPP16ClearChargingProfileStatus, +} as const; +export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus; + +export const ConfigurationStatus = { + ...OCPP16ConfigurationStatus, +} as const; +export type ConfigurationStatus = OCPP16ConfigurationStatus; + +export const UnlockStatus = { + ...OCPP16UnlockStatus, +} as const; +export type UnlockStatus = OCPP16UnlockStatus; + +export const TriggerMessageStatus = { + ...OCPP16TriggerMessageStatus, +} as const; +export type TriggerMessageStatus = OCPP16TriggerMessageStatus; + +export const DataTransferStatus = { + ...OCPP16DataTransferStatus, +} as const; +export type DataTransferStatus = OCPP16DataTransferStatus; + +export type ReservationStatus = OCPP16ReservationStatus; +export const ReservationStatus = { + ...OCPP16ReservationStatus, }; + +export type CancelReservationStatus = GenericStatus; +export const CancelReservationStatus = { + ...GenericStatus, +}; + +export type CancelReservationResponse = GenericResponse;