Add BootNotification and ClearCache OCPP 2.0.1 commands support
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Responses.ts
1 import type ChargingStation from '../../charging-station/ChargingStation';
2 import type { JsonType } from '../JsonType';
3 import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
4 import {
5 OCPP16AvailabilityStatus,
6 type OCPP16BootNotificationResponse,
7 OCPP16ChargingProfileStatus,
8 OCPP16ClearChargingProfileStatus,
9 OCPP16ConfigurationStatus,
10 type OCPP16DataTransferResponse,
11 OCPP16DataTransferStatus,
12 type OCPP16HeartbeatResponse,
13 type OCPP16StatusNotificationResponse,
14 OCPP16TriggerMessageStatus,
15 OCPP16UnlockStatus,
16 } from './1.6/Responses';
17 import type { OCPP20BootNotificationResponse } from './2.0/Responses';
18 import type { ErrorType } from './ErrorType';
19 import type { MessageType } from './MessageType';
20
21 export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
22
23 export type ErrorResponse = [MessageType.CALL_ERROR_MESSAGE, string, ErrorType, string, JsonType];
24
25 export type ResponseHandler = (
26 chargingStation: ChargingStation,
27 payload: JsonType,
28 requestPayload?: JsonType
29 ) => void | Promise<void>;
30
31 export type BootNotificationResponse =
32 | OCPP16BootNotificationResponse
33 | OCPP20BootNotificationResponse;
34
35 export type HeartbeatResponse = OCPP16HeartbeatResponse;
36
37 export type StatusNotificationResponse = OCPP16StatusNotificationResponse;
38
39 export type MeterValuesResponse = OCPP16MeterValuesResponse;
40
41 export type DataTransferResponse = OCPP16DataTransferResponse;
42
43 export enum DefaultStatus {
44 ACCEPTED = 'Accepted',
45 REJECTED = 'Rejected',
46 }
47
48 export type DefaultResponse = {
49 status: DefaultStatus;
50 };
51
52 export enum RegistrationStatusEnumType {
53 ACCEPTED = 'Accepted',
54 PENDING = 'Pending',
55 REJECTED = 'Rejected',
56 }
57
58 export const AvailabilityStatus = {
59 ...OCPP16AvailabilityStatus,
60 } as const;
61 export type AvailabilityStatus = OCPP16AvailabilityStatus;
62
63 export const ChargingProfileStatus = {
64 ...OCPP16ChargingProfileStatus,
65 } as const;
66 export type ChargingProfileStatus = OCPP16ChargingProfileStatus;
67
68 export const ClearChargingProfileStatus = {
69 ...OCPP16ClearChargingProfileStatus,
70 } as const;
71 export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus;
72
73 export const ConfigurationStatus = {
74 ...OCPP16ConfigurationStatus,
75 } as const;
76 export type ConfigurationStatus = OCPP16ConfigurationStatus;
77
78 export const UnlockStatus = {
79 ...OCPP16UnlockStatus,
80 } as const;
81 export type UnlockStatus = OCPP16UnlockStatus;
82
83 export const TriggerMessageStatus = {
84 ...OCPP16TriggerMessageStatus,
85 } as const;
86 export type TriggerMessageStatus = OCPP16TriggerMessageStatus;
87
88 export const DataTransferStatus = {
89 ...OCPP16DataTransferStatus,
90 } as const;
91 export type DataTransferStatus = OCPP16DataTransferStatus;