refactor: more coding style fixes
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Requests.ts
CommitLineData
66a7748d
JB
1import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus.js'
2import type { OCPP16MeterValuesRequest } from './1.6/MeterValues.js'
e7aeea18
JB
3import {
4 OCPP16AvailabilityType,
953d6b02 5 type OCPP16BootNotificationRequest,
66dd3447 6 type OCPP16CancelReservationRequest,
953d6b02 7 type OCPP16DataTransferRequest,
c9a4f9ea 8 type OCPP16DiagnosticsStatusNotificationRequest,
d4c84337 9 OCPP16FirmwareStatus,
c9a4f9ea 10 type OCPP16FirmwareStatusNotificationRequest,
953d6b02 11 type OCPP16HeartbeatRequest,
e7aeea18 12 OCPP16IncomingRequestCommand,
c60ed4b8 13 OCPP16MessageTrigger,
e7aeea18 14 OCPP16RequestCommand,
66dd3447 15 type OCPP16ReserveNowRequest,
66a7748d
JB
16 type OCPP16StatusNotificationRequest
17} from './1.6/Requests.js'
18import { OperationalStatusEnumType } from './2.0/Common.js'
69074173 19import {
d270cc87
JB
20 type OCPP20BootNotificationRequest,
21 OCPP20IncomingRequestCommand,
22 OCPP20RequestCommand,
66a7748d
JB
23 type OCPP20StatusNotificationRequest
24} from './2.0/Requests.js'
25import type { MessageType } from './MessageType.js'
26import type { ChargingStation } from '../../charging-station/index.js'
27import type { OCPPError } from '../../exception/index.js'
28import type { JsonType } from '../JsonType.js'
6a64534b 29
e3018bc4
JB
30export const RequestCommand = {
31 ...OCPP16RequestCommand,
66a7748d
JB
32 ...OCPP20RequestCommand
33} as const
34// eslint-disable-next-line @typescript-eslint/no-redeclare
35export type RequestCommand = OCPP16RequestCommand | OCPP20RequestCommand
e3018bc4 36
66a7748d 37export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType]
b3ec7bc1 38
e1d9a0f4 39export interface RequestParams {
66a7748d
JB
40 skipBufferingOnError?: boolean
41 triggerMessage?: boolean
42 throwError?: boolean
e1d9a0f4 43}
e3018bc4 44
e3018bc4
JB
45export const IncomingRequestCommand = {
46 ...OCPP16IncomingRequestCommand,
66a7748d
JB
47 ...OCPP20IncomingRequestCommand
48} as const
49// eslint-disable-next-line @typescript-eslint/no-redeclare
50export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20IncomingRequestCommand
e3018bc4 51
66a7748d 52export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]
b3ec7bc1 53
73ed6e01
JB
54export type IncomingRequestHandler = (
55 chargingStation: ChargingStation,
66a7748d
JB
56 commandPayload: JsonType
57) => JsonType | Promise<JsonType>
73ed6e01 58
66a7748d 59export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void
d900c8d7 60
66a7748d 61export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void
d900c8d7 62
b3ec7bc1 63export type CachedRequest = [
d900c8d7
JB
64 ResponseCallback,
65 ErrorCallback,
b3ec7bc1 66 RequestCommand | IncomingRequestCommand,
a807045b 67 JsonType,
66a7748d 68]
b3ec7bc1 69
c60ed4b8 70export const MessageTrigger = {
66a7748d
JB
71 ...OCPP16MessageTrigger
72} as const
73// eslint-disable-next-line @typescript-eslint/no-redeclare
74export type MessageTrigger = OCPP16MessageTrigger
c60ed4b8 75
66a7748d 76export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest
c0560973 77
66a7748d 78export type HeartbeatRequest = OCPP16HeartbeatRequest
ef6fa3fb 79
6e939d9e
JB
80export type StatusNotificationRequest =
81 | OCPP16StatusNotificationRequest
66a7748d 82 | OCPP20StatusNotificationRequest
ef6fa3fb 83
66a7748d 84export type MeterValuesRequest = OCPP16MeterValuesRequest
ef6fa3fb 85
66a7748d 86export type DataTransferRequest = OCPP16DataTransferRequest
91a7d3ea 87
66a7748d 88export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest
c9a4f9ea 89
66a7748d 90export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest
c9a4f9ea 91
c0560973 92export const AvailabilityType = {
e7aeea18 93 ...OCPP16AvailabilityType,
66a7748d
JB
94 ...OperationalStatusEnumType
95} as const
96// eslint-disable-next-line @typescript-eslint/no-redeclare
97export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType
47e22477
JB
98
99export const DiagnosticsStatus = {
66a7748d
JB
100 ...OCPP16DiagnosticsStatus
101} as const
102// eslint-disable-next-line @typescript-eslint/no-redeclare
103export type DiagnosticsStatus = OCPP16DiagnosticsStatus
e3018bc4 104
d4c84337 105export const FirmwareStatus = {
66a7748d
JB
106 ...OCPP16FirmwareStatus
107} as const
108// eslint-disable-next-line @typescript-eslint/no-redeclare
109export type FirmwareStatus = OCPP16FirmwareStatus
d4c84337 110
66a7748d 111export type ResponseType = JsonType | OCPPError
66dd3447 112
66a7748d 113export type ReserveNowRequest = OCPP16ReserveNowRequest
66dd3447 114
66a7748d 115export type CancelReservationRequest = OCPP16CancelReservationRequest