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