X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2FRequests.ts;h=16a79c05d2cf74365cd09f2e102af269cfe08b0a;hb=5cc4b63bd363814ddc657bd4c9b407e5eb3150cb;hp=26d8bd7efbdb4b8469e592b5c08916d4ca7a960f;hpb=6ce0bca57a96ef920df4e0786d8f28b0b89a36ef;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/Requests.ts b/src/types/ocpp/Requests.ts index 26d8bd7e..16a79c05 100644 --- a/src/types/ocpp/Requests.ts +++ b/src/types/ocpp/Requests.ts @@ -1,39 +1,66 @@ -import { OCPP16AvailabilityType, OCPP16BootNotificationRequest, OCPP16IncomingRequestCommand, OCPP16RequestCommand } from './1.6/Requests'; +import { + OCPP16AvailabilityType, + OCPP16BootNotificationRequest, + OCPP16HeartbeatRequest, + OCPP16IncomingRequestCommand, + OCPP16RequestCommand, + OCPP16StatusNotificationRequest, +} from './1.6/Requests'; +import { JsonType } from '../JsonType'; import { MessageType } from './MessageType'; import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus'; -import OCPPError from '../../charging-station/OCPPError'; +import { OCPP16MeterValuesRequest } from './1.6/MeterValues'; +import OCPPError from '../../exception/OCPPError'; -export default interface Requests { - [id: string]: Request; +export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]; + +export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]; + +export type CachedRequest = [ + (payload: JsonType, requestPayload: JsonType) => void, + (error: OCPPError, requestStatistic?: boolean) => void, + RequestCommand | IncomingRequestCommand, + JsonType +]; + +export type IncomingRequestHandler = (commandPayload: JsonType) => JsonType | Promise; + +export type ResponseType = JsonType | OCPPError; + +export interface RequestParams { + skipBufferingOnError?: boolean; + triggerMessage?: boolean; } export type BootNotificationRequest = OCPP16BootNotificationRequest; +export type HeartbeatRequest = OCPP16HeartbeatRequest; + +export type StatusNotificationRequest = OCPP16StatusNotificationRequest; + +export type MeterValuesRequest = OCPP16MeterValuesRequest; + export type AvailabilityType = OCPP16AvailabilityType; export const AvailabilityType = { - ...OCPP16AvailabilityType + ...OCPP16AvailabilityType, }; export type RequestCommand = OCPP16RequestCommand; export const RequestCommand = { - ...OCPP16RequestCommand + ...OCPP16RequestCommand, }; export type IncomingRequestCommand = OCPP16IncomingRequestCommand; export const IncomingRequestCommand = { - ...OCPP16IncomingRequestCommand + ...OCPP16IncomingRequestCommand, }; export type DiagnosticsStatus = OCPP16DiagnosticsStatus; export const DiagnosticsStatus = { - ...OCPP16DiagnosticsStatus + ...OCPP16DiagnosticsStatus, }; - -export type Request = [(payload: Record | string, requestPayload: Record) => void, (error: OCPPError) => void, Record]; - -export type IncomingRequest = [MessageType, string, IncomingRequestCommand, Record, Record];