refactor: add type for charging profiles limit
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Responses.ts
... / ...
CommitLineData
1import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
2import {
3 OCPP16AvailabilityStatus,
4 type OCPP16BootNotificationResponse,
5 OCPP16ChargingProfileStatus,
6 OCPP16ClearChargingProfileStatus,
7 OCPP16ConfigurationStatus,
8 type OCPP16DataTransferResponse,
9 OCPP16DataTransferStatus,
10 type OCPP16DiagnosticsStatusNotificationResponse,
11 type OCPP16FirmwareStatusNotificationResponse,
12 type OCPP16HeartbeatResponse,
13 OCPP16ReservationStatus,
14 type OCPP16StatusNotificationResponse,
15 OCPP16TriggerMessageStatus,
16 OCPP16UnlockStatus,
17} from './1.6/Responses';
18import type { OCPP20BootNotificationResponse, OCPP20ClearCacheResponse } from './2.0/Responses';
19import type { ErrorType } from './ErrorType';
20import type { MessageType } from './MessageType';
21import type { ChargingStation } from '../../charging-station';
22import type { JsonObject, JsonType } from '../JsonType';
23
24export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
25
26export type ErrorResponse = [MessageType.CALL_ERROR_MESSAGE, string, ErrorType, string, JsonType];
27
28export type ResponseHandler = (
29 chargingStation: ChargingStation,
30 payload: JsonType,
31 requestPayload?: JsonType,
32) => void | Promise<void>;
33
34export type BootNotificationResponse =
35 | OCPP16BootNotificationResponse
36 | OCPP20BootNotificationResponse;
37
38export type HeartbeatResponse = OCPP16HeartbeatResponse;
39
40export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse;
41
42export type StatusNotificationResponse = OCPP16StatusNotificationResponse;
43
44export type MeterValuesResponse = OCPP16MeterValuesResponse;
45
46export type DataTransferResponse = OCPP16DataTransferResponse;
47
48export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse;
49
50export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse;
51
52export enum GenericStatus {
53 Accepted = 'Accepted',
54 Rejected = 'Rejected',
55}
56
57export interface GenericResponse extends JsonObject {
58 status: GenericStatus;
59}
60
61export enum RegistrationStatusEnumType {
62 ACCEPTED = 'Accepted',
63 PENDING = 'Pending',
64 REJECTED = 'Rejected',
65}
66
67export const AvailabilityStatus = {
68 ...OCPP16AvailabilityStatus,
69} as const;
70export type AvailabilityStatus = OCPP16AvailabilityStatus;
71
72export const ChargingProfileStatus = {
73 ...OCPP16ChargingProfileStatus,
74} as const;
75export type ChargingProfileStatus = OCPP16ChargingProfileStatus;
76
77export const ClearChargingProfileStatus = {
78 ...OCPP16ClearChargingProfileStatus,
79} as const;
80export type ClearChargingProfileStatus = OCPP16ClearChargingProfileStatus;
81
82export const ConfigurationStatus = {
83 ...OCPP16ConfigurationStatus,
84} as const;
85export type ConfigurationStatus = OCPP16ConfigurationStatus;
86
87export const UnlockStatus = {
88 ...OCPP16UnlockStatus,
89} as const;
90export type UnlockStatus = OCPP16UnlockStatus;
91
92export const TriggerMessageStatus = {
93 ...OCPP16TriggerMessageStatus,
94} as const;
95export type TriggerMessageStatus = OCPP16TriggerMessageStatus;
96
97export const DataTransferStatus = {
98 ...OCPP16DataTransferStatus,
99} as const;
100export type DataTransferStatus = OCPP16DataTransferStatus;
101
102export type ReservationStatus = OCPP16ReservationStatus;
103export const ReservationStatus = {
104 ...OCPP16ReservationStatus,
105};
106
107export type CancelReservationStatus = GenericStatus;
108export const CancelReservationStatus = {
109 ...GenericStatus,
110};
111
112export type CancelReservationResponse = GenericResponse;