Merge dependabot/npm_and_yarn/types/tar-6.1.12 into combined-prs-branch
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 2.0 / Requests.ts
index 04c6c91da2733dbfab51270bed5acb03b56440ca..f075e642f7284f657398f5e3a7a46b0ab7f565db 100644 (file)
@@ -1,3 +1,58 @@
-export enum OCPP20RequestCommand {}
+import type { EmptyObject } from '../../EmptyObject.js'
+import type { JsonObject } from '../../JsonType.js'
+import type {
+  BootReasonEnumType,
+  InstallCertificateUseEnumType,
+  OCPP20ConnectorStatusEnumType
+} from './Common.js'
+import type { OCPP20SetVariableDataType } from './Variables.js'
 
-export enum OCPP20IncomingRequestCommand {}
+export enum OCPP20RequestCommand {
+  BOOT_NOTIFICATION = 'BootNotification',
+  HEARTBEAT = 'Heartbeat',
+  STATUS_NOTIFICATION = 'StatusNotification'
+}
+
+export enum OCPP20IncomingRequestCommand {
+  CLEAR_CACHE = 'ClearCache',
+  REQUEST_START_TRANSACTION = 'RequestStartTransaction',
+  REQUEST_STOP_TRANSACTION = 'RequestStopTransaction'
+}
+
+interface ModemType extends JsonObject {
+  iccid?: string
+  imsi?: string
+}
+
+interface ChargingStationType extends JsonObject {
+  serialNumber?: string
+  model: string
+  vendorName: string
+  firmwareVersion?: string
+  modem?: ModemType
+}
+
+export interface OCPP20BootNotificationRequest extends JsonObject {
+  reason: BootReasonEnumType
+  chargingStation: ChargingStationType
+}
+
+export type OCPP20HeartbeatRequest = EmptyObject
+
+export type OCPP20ClearCacheRequest = EmptyObject
+
+export interface OCPP20StatusNotificationRequest extends JsonObject {
+  timestamp: Date
+  connectorStatus: OCPP20ConnectorStatusEnumType
+  evseId: number
+  connectorId: number
+}
+
+export interface OCPP20SetVariablesRequest extends JsonObject {
+  setVariableData: OCPP20SetVariableDataType[]
+}
+
+export interface OCPP20InstallCertificateRequest extends JsonObject {
+  certificateType: InstallCertificateUseEnumType
+  certificate: string
+}