X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FRequests.ts;h=9934f1671292158bb5d4f3d47d03f95f3e7c361a;hb=8eb3b688c4b6fb3e946f38d474a5125caf1d056a;hp=d4388efe7c9c957aa3a1a4fe82374e608cea6881;hpb=3f8d4e1e5a94561aa49a2a8bf670c35128d6b26c;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Requests.ts b/src/types/ocpp/Requests.ts index d4388efe..9934f167 100644 --- a/src/types/ocpp/Requests.ts +++ b/src/types/ocpp/Requests.ts @@ -1,32 +1,76 @@ -import { OCPP16AvailabilityType, OCPP16BootNotificationRequest, OCPP16IncomingRequestCommand, OCPP16RequestCommand } from './1.6/Requests'; +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, + OCPP16HeartbeatRequest, + OCPP16IncomingRequestCommand, + OCPP16MessageTrigger, + OCPP16RequestCommand, + OCPP16StatusNotificationRequest, +} from './1.6/Requests'; +import type { MessageType } from './MessageType'; -import { MessageType } from './MessageType'; -import OCPPError from '../../charging-station/OcppError'; +export type RequestCommand = OCPP16RequestCommand; -export default interface Requests { - [id: string]: Request; -} +export const RequestCommand = { + ...OCPP16RequestCommand, +}; -export type BootNotificationRequest = OCPP16BootNotificationRequest; +export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]; -export type AvailabilityType = OCPP16AvailabilityType; +export type RequestParams = { + skipBufferingOnError?: boolean; + triggerMessage?: boolean; +}; -export const AvailabilityType = { - ...OCPP16AvailabilityType +export type IncomingRequestCommand = OCPP16IncomingRequestCommand; + +export const IncomingRequestCommand = { + ...OCPP16IncomingRequestCommand, }; -export type RequestCommand = OCPP16RequestCommand; +export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]; -export const RequestCommand = { - ...OCPP16RequestCommand +export type CachedRequest = [ + (payload: JsonType, requestPayload: JsonType) => void, + (error: OCPPError, requestStatistic?: boolean) => void, + RequestCommand | IncomingRequestCommand, + JsonType +]; + +export type MessageTrigger = OCPP16MessageTrigger; + +export const MessageTrigger = { + ...OCPP16MessageTrigger, }; -export type IncomingRequestCommand = OCPP16IncomingRequestCommand; +export type BootNotificationRequest = OCPP16BootNotificationRequest; -export const IncomingRequestCommand = { - ...OCPP16IncomingRequestCommand +export type HeartbeatRequest = OCPP16HeartbeatRequest; + +export type StatusNotificationRequest = OCPP16StatusNotificationRequest; + +export type MeterValuesRequest = OCPP16MeterValuesRequest; + +export type IncomingRequestHandler = ( + chargingStation: ChargingStation, + commandPayload: JsonType +) => JsonType | Promise; + +export type AvailabilityType = OCPP16AvailabilityType; + +export const AvailabilityType = { + ...OCPP16AvailabilityType, }; -export type Request = [(payload?: Record, requestPayload?: Record) => void, (error?: OCPPError) => void, Record]; +export type DiagnosticsStatus = OCPP16DiagnosticsStatus; + +export const DiagnosticsStatus = { + ...OCPP16DiagnosticsStatus, +}; -export type IncomingRequest = [MessageType, string, IncomingRequestCommand, Record, Record]; +export type ResponseType = JsonType | OCPPError;