X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2Focpp%2FRequests.ts;h=09e2b0cc5a7df446239c90839607c57f64262aab;hb=d270cc878c61c42098557a0e03cc1620f74112de;hp=c5c813f22f154ef8349cb854d9718696e3e6956d;hpb=e7aeea18e189dd087c8f951cf77a253e2818ae90;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Requests.ts b/src/types/ocpp/Requests.ts index c5c813f2..09e2b0cc 100644 --- a/src/types/ocpp/Requests.ts +++ b/src/types/ocpp/Requests.ts @@ -1,57 +1,85 @@ +import type ChargingStation from '../../charging-station/ChargingStation'; +import type OCPPError from '../../exception/OCPPError'; +import type { JsonType } from '../JsonType'; +import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus'; +import type { OCPP16MeterValuesRequest } from './1.6/MeterValues'; import { OCPP16AvailabilityType, - OCPP16BootNotificationRequest, + type OCPP16BootNotificationRequest, + type OCPP16DataTransferRequest, + type OCPP16HeartbeatRequest, OCPP16IncomingRequestCommand, + OCPP16MessageTrigger, OCPP16RequestCommand, + type OCPP16StatusNotificationRequest, } from './1.6/Requests'; +import { + type OCPP20BootNotificationRequest, + OCPP20IncomingRequestCommand, + OCPP20RequestCommand, +} from './2.0/Requests'; +import type { MessageType } from './MessageType'; -import { JsonType } from '../JsonType'; -import { MessageType } from './MessageType'; -import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus'; -import OCPPError from '../../exception/OCPPError'; +export const RequestCommand = { + ...OCPP16RequestCommand, + ...OCPP20RequestCommand, +} as const; +export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand; -export interface SendParams { +export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]; + +export type RequestParams = { skipBufferingOnError?: boolean; triggerMessage?: boolean; -} +}; -export type IncomingRequestHandler = (commandPayload: JsonType) => JsonType | Promise; +export const IncomingRequestCommand = { + ...OCPP16IncomingRequestCommand, + ...OCPP20IncomingRequestCommand, +} as const; +export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20IncomingRequestCommand; -export type ResponseType = JsonType | OCPPError | string; +export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]; -export type BootNotificationRequest = OCPP16BootNotificationRequest; +export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void; -export type AvailabilityType = OCPP16AvailabilityType; +export type ErrorCallback = (error: OCPPError, requestStatistic?: boolean) => void; -export const AvailabilityType = { - ...OCPP16AvailabilityType, -}; +export type CachedRequest = [ + ResponseCallback, + ErrorCallback, + RequestCommand | IncomingRequestCommand, + JsonType +]; -export type RequestCommand = OCPP16RequestCommand; +export const MessageTrigger = { + ...OCPP16MessageTrigger, +} as const; +export type MessageTrigger = OCPP16MessageTrigger; -export const RequestCommand = { - ...OCPP16RequestCommand, -}; +export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest; -export type IncomingRequestCommand = OCPP16IncomingRequestCommand; +export type HeartbeatRequest = OCPP16HeartbeatRequest; -export const IncomingRequestCommand = { - ...OCPP16IncomingRequestCommand, -}; +export type StatusNotificationRequest = OCPP16StatusNotificationRequest; -export type DiagnosticsStatus = OCPP16DiagnosticsStatus; +export type MeterValuesRequest = OCPP16MeterValuesRequest; -export const DiagnosticsStatus = { - ...OCPP16DiagnosticsStatus, -}; +export type DataTransferRequest = OCPP16DataTransferRequest; + +export type IncomingRequestHandler = ( + chargingStation: ChargingStation, + commandPayload: JsonType +) => JsonType | Promise; -export type Request = [MessageType, string, RequestCommand, JsonType, JsonType]; +export const AvailabilityType = { + ...OCPP16AvailabilityType, +} as const; +export type AvailabilityType = OCPP16AvailabilityType; -export type IncomingRequest = [MessageType, string, IncomingRequestCommand, JsonType, JsonType]; +export const DiagnosticsStatus = { + ...OCPP16DiagnosticsStatus, +} as const; +export type DiagnosticsStatus = OCPP16DiagnosticsStatus; -export type CachedRequest = [ - (payload: JsonType, requestPayload: JsonType) => void, - (error: OCPPError, requestStatistic?: boolean) => void, - RequestCommand | IncomingRequestCommand, - JsonType | OCPPError -]; +export type ResponseType = JsonType | OCPPError;