repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: strong type UUID usage in UI protocol
[e-mobility-charging-stations-simulator.git]
/
src
/
types
/
UIProtocol.ts
diff --git
a/src/types/UIProtocol.ts
b/src/types/UIProtocol.ts
index d995e096676fd7d40a3944defb8cab8d9f91fb2d..f53696dae914b02ed0c3a24a66d89939393707e4 100644
(file)
--- a/
src/types/UIProtocol.ts
+++ b/
src/types/UIProtocol.ts
@@
-1,59
+1,94
@@
-import type { JsonObject } from './JsonType
';
-import type { BroadcastChannelResponsePayload } from './WorkerBroadcastChannel
';
+import type { JsonObject } from './JsonType
.js'
+import type { BroadcastChannelResponsePayload } from './WorkerBroadcastChannel
.js'
export enum Protocol {
export enum Protocol {
- UI = 'ui'
,
+ UI = 'ui'
}
export enum ApplicationProtocol {
HTTP = 'http',
}
export enum ApplicationProtocol {
HTTP = 'http',
- WS = 'ws'
,
+ WS = 'ws'
}
export enum AuthenticationType {
BASIC_AUTH = 'basic-auth',
}
export enum AuthenticationType {
BASIC_AUTH = 'basic-auth',
+ PROTOCOL_BASIC_AUTH = 'protocol-basic-auth'
}
export enum ProtocolVersion {
}
export enum ProtocolVersion {
- '0.0.1' = '0.0.1'
,
+ '0.0.1' = '0.0.1'
}
}
-export type ProtocolRequest = [string, ProcedureName, RequestPayload];
-export type ProtocolResponse = [string, ResponsePayload];
+export type ProtocolRequest = [
+ `${string}-${string}-${string}-${string}-${string}`,
+ ProcedureName,
+ RequestPayload
+]
+export type ProtocolResponse = [
+ `${string}-${string}-${string}-${string}-${string}`,
+ ResponsePayload
+]
export type ProtocolRequestHandler = (
export type ProtocolRequestHandler = (
- uuid?: string,
+ uuid?: `${string}-${string}-${string}-${string}-${string}`,
+ procedureName?: ProcedureName,
payload?: RequestPayload
payload?: RequestPayload
-) => undefined | Promise<undefined> | ResponsePayload | Promise<ResponsePayload>
;
+) => undefined | Promise<undefined> | ResponsePayload | Promise<ResponsePayload>
export enum ProcedureName {
export enum ProcedureName {
+ SIMULATOR_STATE = 'simulatorState',
+ START_SIMULATOR = 'startSimulator',
+ STOP_SIMULATOR = 'stopSimulator',
+ LIST_TEMPLATES = 'listTemplates',
LIST_CHARGING_STATIONS = 'listChargingStations',
LIST_CHARGING_STATIONS = 'listChargingStations',
+ ADD_CHARGING_STATIONS = 'addChargingStations',
+ DELETE_CHARGING_STATIONS = 'deleteChargingStations',
+ PERFORMANCE_STATISTICS = 'performanceStatistics',
START_CHARGING_STATION = 'startChargingStation',
STOP_CHARGING_STATION = 'stopChargingStation',
START_CHARGING_STATION = 'startChargingStation',
STOP_CHARGING_STATION = 'stopChargingStation',
- START_SIMULATOR = 'startSimulator',
- STOP_SIMULATOR = 'stopSimulator',
OPEN_CONNECTION = 'openConnection',
CLOSE_CONNECTION = 'closeConnection',
OPEN_CONNECTION = 'openConnection',
CLOSE_CONNECTION = 'closeConnection',
- START_TRANSACTION = 'startTransaction',
- STOP_TRANSACTION = 'stopTransaction',
START_AUTOMATIC_TRANSACTION_GENERATOR = 'startAutomaticTransactionGenerator',
STOP_AUTOMATIC_TRANSACTION_GENERATOR = 'stopAutomaticTransactionGenerator',
START_AUTOMATIC_TRANSACTION_GENERATOR = 'startAutomaticTransactionGenerator',
STOP_AUTOMATIC_TRANSACTION_GENERATOR = 'stopAutomaticTransactionGenerator',
+ SET_SUPERVISION_URL = 'setSupervisionUrl',
+ START_TRANSACTION = 'startTransaction',
+ STOP_TRANSACTION = 'stopTransaction',
+ AUTHORIZE = 'authorize',
+ BOOT_NOTIFICATION = 'bootNotification',
STATUS_NOTIFICATION = 'statusNotification',
STATUS_NOTIFICATION = 'statusNotification',
+ HEARTBEAT = 'heartbeat',
+ METER_VALUES = 'meterValues',
+ DATA_TRANSFER = 'dataTransfer',
+ DIAGNOSTICS_STATUS_NOTIFICATION = 'diagnosticsStatusNotification',
+ FIRMWARE_STATUS_NOTIFICATION = 'firmwareStatusNotification'
}
export interface RequestPayload extends JsonObject {
}
export interface RequestPayload extends JsonObject {
- hashIds?: string[]
;
- connectorIds?: number[]
;
+ hashIds?: string[]
+ connectorIds?: number[]
}
export enum ResponseStatus {
SUCCESS = 'success',
}
export enum ResponseStatus {
SUCCESS = 'success',
- FAILURE = 'failure'
,
+ FAILURE = 'failure'
}
export interface ResponsePayload extends JsonObject {
}
export interface ResponsePayload extends JsonObject {
- status: ResponseStatus;
- hashIdsSucceeded?: string[];
- hashIdsFailed?: string[];
- responsesFailed?: BroadcastChannelResponsePayload[];
+ status: ResponseStatus
+ hashIdsSucceeded?: string[]
+ hashIdsFailed?: string[]
+ responsesFailed?: BroadcastChannelResponsePayload[]
+}
+
+export interface TemplateStatistics extends JsonObject {
+ configured: number
+ added: number
+ started: number
+ indexes: number[]
+}
+
+export interface SimulatorState extends JsonObject {
+ version: string
+ started: boolean
+ templateStatistics: Record<string, TemplateStatistics>
}
}