X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FResponses.ts;h=2cd2f36902e49a6bd130d22a86fc7d53b424fcaa;hb=e1d9a0f4d6ff1a90048e9a694fd12b7031cc6961;hp=a09da33b0fe86af5e6fa9cdcdff120c8b1c71180;hpb=6ce0bca57a96ef920df4e0786d8f28b0b89a36ef;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Responses.ts b/src/types/ocpp/Responses.ts index a09da33b..2cd2f369 100644 --- a/src/types/ocpp/Responses.ts +++ b/src/types/ocpp/Responses.ts @@ -1,48 +1,112 @@ -import { OCPP16AvailabilityStatus, OCPP16BootNotificationResponse, OCPP16ChargingProfileStatus, OCPP16ClearChargingProfileStatus, OCPP16ConfigurationStatus, OCPP16RegistrationStatus, OCPP16UnlockStatus } 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 enum DefaultStatus { - ACCEPTED = 'Accepted', - REJECTED = 'Rejected' -} +export type ErrorResponse = [MessageType.CALL_ERROR_MESSAGE, string, ErrorType, string, JsonType]; -export interface DefaultResponse { - status: DefaultStatus; -} +export type ResponseHandler = ( + chargingStation: ChargingStation, + payload: JsonType, + requestPayload?: JsonType, +) => void | Promise; -export type RegistrationStatus = OCPP16RegistrationStatus; +export type BootNotificationResponse = + | OCPP16BootNotificationResponse + | OCPP20BootNotificationResponse; -export const RegistrationStatus = { - ...OCPP16RegistrationStatus -}; +export type HeartbeatResponse = OCPP16HeartbeatResponse; -export type AvailabilityStatus = OCPP16AvailabilityStatus; +export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse; -export const AvailabilityStatus = { - ...OCPP16AvailabilityStatus -}; +export type StatusNotificationResponse = OCPP16StatusNotificationResponse; -export type ChargingProfileStatus = OCPP16ChargingProfileStatus; +export type MeterValuesResponse = OCPP16MeterValuesResponse; -export const ChargingProfileStatus = { - ...OCPP16ChargingProfileStatus -}; +export type DataTransferResponse = OCPP16DataTransferResponse; -export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus; +export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse; -export const ClearChargingProfileStatus = { - ...OCPP16ClearChargingProfileStatus -}; +export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse; -export type ConfigurationStatus = OCPP16ConfigurationStatus; +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 -}; + ...OCPP16ConfigurationStatus, +} as const; +export type ConfigurationStatus = OCPP16ConfigurationStatus; +export const UnlockStatus = { + ...OCPP16UnlockStatus, +} as const; export type UnlockStatus = OCPP16UnlockStatus; -export const 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;