X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FResponses.ts;h=9983ee8a81b0721fb306d55cfb88dca15055ac57;hb=f938317f2902366a85a8f76de55ee51f1d4a662a;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..9983ee8a 100644 --- a/src/types/ocpp/Responses.ts +++ b/src/types/ocpp/Responses.ts @@ -1,48 +1,107 @@ -import { OCPP16AvailabilityStatus, OCPP16BootNotificationResponse, OCPP16ChargingProfileStatus, OCPP16ClearChargingProfileStatus, OCPP16ConfigurationStatus, OCPP16RegistrationStatus, OCPP16UnlockStatus } from './1.6/Responses'; +import type { OCPP16MeterValuesResponse } from './1.6/MeterValues.js' +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.js' +import type { OCPP20BootNotificationResponse, OCPP20ClearCacheResponse } from './2.0/Responses.js' +import { type GenericResponse, GenericStatus } from './Common.js' +import type { ErrorType } from './ErrorType.js' +import type { MessageType } from './MessageType.js' +import type { ChargingStation } from '../../charging-station/index.js' +import type { JsonType } from '../JsonType.js' -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 type StatusNotificationResponse = OCPP16StatusNotificationResponse + +export type MeterValuesResponse = OCPP16MeterValuesResponse + +export type DataTransferResponse = OCPP16DataTransferResponse + +export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse + +export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse export const AvailabilityStatus = { ...OCPP16AvailabilityStatus -}; - -export type ChargingProfileStatus = OCPP16ChargingProfileStatus; +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type AvailabilityStatus = OCPP16AvailabilityStatus export const ChargingProfileStatus = { ...OCPP16ChargingProfileStatus -}; - -export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus; +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type ChargingProfileStatus = OCPP16ChargingProfileStatus export const ClearChargingProfileStatus = { ...OCPP16ClearChargingProfileStatus -}; - -export type ConfigurationStatus = OCPP16ConfigurationStatus; +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus export const ConfigurationStatus = { ...OCPP16ConfigurationStatus -}; - -export type UnlockStatus = OCPP16UnlockStatus; +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type ConfigurationStatus = OCPP16ConfigurationStatus export const UnlockStatus = { ...OCPP16UnlockStatus -}; +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type UnlockStatus = OCPP16UnlockStatus + +export const TriggerMessageStatus = { + ...OCPP16TriggerMessageStatus +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type TriggerMessageStatus = OCPP16TriggerMessageStatus + +export const DataTransferStatus = { + ...OCPP16DataTransferStatus +} as const +// eslint-disable-next-line @typescript-eslint/no-redeclare +export type DataTransferStatus = OCPP16DataTransferStatus + +export type ReservationStatus = OCPP16ReservationStatus +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const ReservationStatus = { + ...OCPP16ReservationStatus +} as const + +export type CancelReservationStatus = GenericStatus +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const CancelReservationStatus = { + ...GenericStatus +} as const + +export type CancelReservationResponse = GenericResponse