build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Transaction.ts
index 7b072e700155d5f44bc888888e5d523938d7ceff..2e6c7289cde3ac8940d605b74bdff41c86b061df 100644 (file)
@@ -1,7 +1,7 @@
-import { MeterValue } from './MeterValues';
+import type { OCPP16MeterValue } from './MeterValues.js'
+import type { JsonObject } from '../../JsonType.js'
 
-export enum StopTransactionReason {
-  NONE = '',
+export enum OCPP16StopTransactionReason {
   EMERGENCY_STOP = 'EmergencyStop',
   EV_DISCONNECTED = 'EVDisconnected',
   HARD_RESET = 'HardReset',
@@ -15,7 +15,7 @@ export enum StopTransactionReason {
   DE_AUTHORIZED = 'DeAuthorized'
 }
 
-export enum AuthorizationStatus {
+export enum OCPP16AuthorizationStatus {
   ACCEPTED = 'Accepted',
   BLOCKED = 'Blocked',
   EXPIRED = 'Expired',
@@ -23,34 +23,42 @@ export enum AuthorizationStatus {
   CONCURRENT_TX = 'ConcurrentTx'
 }
 
-export interface IdTagInfo {
-  status: AuthorizationStatus;
-  parentIdTag?: string;
-  expiryDate?: Date;
+interface IdTagInfo extends JsonObject {
+  status: OCPP16AuthorizationStatus
+  parentIdTag?: string
+  expiryDate?: Date
 }
 
-export interface StartTransactionRequest {
-  connectorId: number;
-  idTag: string;
-  meterStart: number;
-  reservationId?: number;
-  timestamp: string;
+export interface OCPP16AuthorizeRequest extends JsonObject {
+  idTag: string
 }
 
-export interface StartTransactionResponse {
-  idTagInfo: IdTagInfo;
-  transactionId: number;
+export interface OCPP16AuthorizeResponse extends JsonObject {
+  idTagInfo: IdTagInfo
 }
 
-export interface StopTransactionRequest {
-  idTag?: string;
-  meterStop: number;
-  timestamp: string;
-  transactionId: number;
-  reason?: StopTransactionReason;
-  transactionData?: MeterValue[];
+export interface OCPP16StartTransactionRequest extends JsonObject {
+  connectorId: number
+  idTag: string
+  meterStart: number
+  timestamp: Date
+  reservationId?: number
 }
 
-export interface StopTransactionResponse {
-  idTagInfo?: IdTagInfo;
+export interface OCPP16StartTransactionResponse extends JsonObject {
+  idTagInfo: IdTagInfo
+  transactionId: number
+}
+
+export interface OCPP16StopTransactionRequest extends JsonObject {
+  idTag?: string
+  meterStop: number
+  timestamp: Date
+  transactionId: number
+  reason?: OCPP16StopTransactionReason
+  transactionData?: OCPP16MeterValue[]
+}
+
+export interface OCPP16StopTransactionResponse extends JsonObject {
+  idTagInfo?: IdTagInfo
 }