Commit | Line | Data |
---|---|---|
6c1761d4 | 1 | import type { JsonObject } from './JsonType'; |
f53c88d0 | 2 | import type { BroadcastChannelResponsePayload } from './WorkerBroadcastChannel'; |
d1888640 | 3 | |
4198ad5c JB |
4 | export enum Protocol { |
5 | UI = 'ui', | |
6 | } | |
8244f5f0 | 7 | |
675fa8e3 JB |
8 | export enum ApplicationProtocol { |
9 | HTTP = 'http', | |
10 | WS = 'ws', | |
11 | } | |
12 | ||
eb3abc4f JB |
13 | export enum AuthenticationType { |
14 | BASIC_AUTH = 'basic-auth', | |
15 | } | |
16 | ||
8244f5f0 JB |
17 | export enum ProtocolVersion { |
18 | '0.0.1' = '0.0.1', | |
8244f5f0 JB |
19 | } |
20 | ||
89b7a234 JB |
21 | export type ProtocolRequest = [string, ProcedureName, RequestPayload]; |
22 | export type ProtocolResponse = [string, ResponsePayload]; | |
23 | ||
24 | export type ProtocolRequestHandler = ( | |
4e3ff94d | 25 | uuid?: string, |
5e8e29f4 | 26 | procedureName?: ProcedureName, |
4e3ff94d | 27 | payload?: RequestPayload |
6c8f5d90 | 28 | ) => undefined | Promise<undefined> | ResponsePayload | Promise<ResponsePayload>; |
89b7a234 | 29 | |
32de5a57 | 30 | export enum ProcedureName { |
5e8e29f4 JB |
31 | START_SIMULATOR = 'startSimulator', |
32 | STOP_SIMULATOR = 'stopSimulator', | |
ee0f106b | 33 | LIST_CHARGING_STATIONS = 'listChargingStations', |
89b7a234 JB |
34 | START_CHARGING_STATION = 'startChargingStation', |
35 | STOP_CHARGING_STATION = 'stopChargingStation', | |
db2336d9 JB |
36 | OPEN_CONNECTION = 'openConnection', |
37 | CLOSE_CONNECTION = 'closeConnection', | |
4f69be04 JB |
38 | START_AUTOMATIC_TRANSACTION_GENERATOR = 'startAutomaticTransactionGenerator', |
39 | STOP_AUTOMATIC_TRANSACTION_GENERATOR = 'stopAutomaticTransactionGenerator', | |
5e8e29f4 JB |
40 | START_TRANSACTION = 'startTransaction', |
41 | STOP_TRANSACTION = 'stopTransaction', | |
1984f194 | 42 | AUTHORIZE = 'authorize', |
8bfbc743 | 43 | BOOT_NOTIFICATION = 'bootNotification', |
a9ed42b2 | 44 | STATUS_NOTIFICATION = 'statusNotification', |
10db00b2 | 45 | HEARTBEAT = 'heartbeat', |
d3195f0a | 46 | METER_VALUES = 'meterValues', |
91a7d3ea | 47 | DATA_TRANSFER = 'dataTransfer', |
c9a4f9ea JB |
48 | DIAGNOSTICS_STATUS_NOTIFICATION = 'diagnosticsStatusNotification', |
49 | FIRMWARE_STATUS_NOTIFICATION = 'firmwareStatusNotification', | |
8244f5f0 | 50 | } |
5612b691 | 51 | |
89b7a234 | 52 | export interface RequestPayload extends JsonObject { |
4eca248c | 53 | hashIds?: string[]; |
757b2ecf | 54 | connectorIds?: number[]; |
89b7a234 | 55 | } |
8244f5f0 | 56 | |
32de5a57 LM |
57 | export enum ResponseStatus { |
58 | SUCCESS = 'success', | |
59 | FAILURE = 'failure', | |
60 | } | |
61 | ||
62 | export interface ResponsePayload extends JsonObject { | |
63 | status: ResponseStatus; | |
0d2cec76 JB |
64 | hashIdsSucceeded?: string[]; |
65 | hashIdsFailed?: string[]; | |
f53c88d0 | 66 | responsesFailed?: BroadcastChannelResponsePayload[]; |
32de5a57 | 67 | } |