X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FRequests.ts;h=a21949962049f95634c73d5fb061a7694748ead0;hb=d4c84337227e85dfbf20ff23d153e6bd1f685b87;hp=e931e83fcbbee1a4ea8a7161a8e00bd823c01678;hpb=8114d10e3893e96bb725ce2fca9744429ee4b75b;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Requests.ts b/src/types/ocpp/Requests.ts index e931e83f..a2194996 100644 --- a/src/types/ocpp/Requests.ts +++ b/src/types/ocpp/Requests.ts @@ -1,42 +1,64 @@ import type ChargingStation from '../../charging-station/ChargingStation'; -import OCPPError from '../../exception/OCPPError'; -import { JsonType } from '../JsonType'; +import type OCPPError from '../../exception/OCPPError'; +import type { JsonType } from '../JsonType'; import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus'; -import { OCPP16MeterValuesRequest } from './1.6/MeterValues'; +import type { OCPP16MeterValuesRequest } from './1.6/MeterValues'; import { OCPP16AvailabilityType, - OCPP16BootNotificationRequest, - OCPP16HeartbeatRequest, + type OCPP16BootNotificationRequest, + type OCPP16DataTransferRequest, + OCPP16FirmwareStatus, + type OCPP16HeartbeatRequest, OCPP16IncomingRequestCommand, + OCPP16MessageTrigger, OCPP16RequestCommand, - OCPP16StatusNotificationRequest, + type OCPP16StatusNotificationRequest, } from './1.6/Requests'; -import { MessageType } from './MessageType'; +import { + type OCPP20BootNotificationRequest, + OCPP20IncomingRequestCommand, + OCPP20RequestCommand, +} from './2.0/Requests'; +import type { MessageType } from './MessageType'; + +export const RequestCommand = { + ...OCPP16RequestCommand, + ...OCPP20RequestCommand, +} as const; +export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand; export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]; +export type RequestParams = { + skipBufferingOnError?: boolean; + triggerMessage?: boolean; +}; + +export const IncomingRequestCommand = { + ...OCPP16IncomingRequestCommand, + ...OCPP20IncomingRequestCommand, +} as const; +export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20IncomingRequestCommand; + export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]; +export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void; + +export type ErrorCallback = (error: OCPPError, requestStatistic?: boolean) => void; + export type CachedRequest = [ - (payload: JsonType, requestPayload: JsonType) => void, - (error: OCPPError, requestStatistic?: boolean) => void, + ResponseCallback, + ErrorCallback, RequestCommand | IncomingRequestCommand, JsonType ]; -export type IncomingRequestHandler = ( - chargingStation: ChargingStation, - commandPayload: JsonType -) => JsonType | Promise; - -export type ResponseType = JsonType | OCPPError; - -export interface RequestParams { - skipBufferingOnError?: boolean; - triggerMessage?: boolean; -} +export const MessageTrigger = { + ...OCPP16MessageTrigger, +} as const; +export type MessageTrigger = OCPP16MessageTrigger; -export type BootNotificationRequest = OCPP16BootNotificationRequest; +export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest; export type HeartbeatRequest = OCPP16HeartbeatRequest; @@ -44,26 +66,26 @@ export type StatusNotificationRequest = OCPP16StatusNotificationRequest; export type MeterValuesRequest = OCPP16MeterValuesRequest; -export type AvailabilityType = OCPP16AvailabilityType; +export type DataTransferRequest = OCPP16DataTransferRequest; + +export type IncomingRequestHandler = ( + chargingStation: ChargingStation, + commandPayload: JsonType +) => JsonType | Promise; export const AvailabilityType = { ...OCPP16AvailabilityType, -}; - -export type RequestCommand = OCPP16RequestCommand; - -export const RequestCommand = { - ...OCPP16RequestCommand, -}; - -export type IncomingRequestCommand = OCPP16IncomingRequestCommand; - -export const IncomingRequestCommand = { - ...OCPP16IncomingRequestCommand, -}; - -export type DiagnosticsStatus = OCPP16DiagnosticsStatus; +} as const; +export type AvailabilityType = OCPP16AvailabilityType; 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;