refactor(simulator): cleanup id tags cache namespace
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationTemplate.ts
index 3945e8925f94ebbafd9ce5435b10b12466649e45..0cd0e45f1e49707de532e5adab330ba3878c01f2 100644 (file)
@@ -1,13 +1,18 @@
-import type { ClientRequestArgs } from 'http';
+import type { ClientRequestArgs } from 'node:http';
 
 import type { ClientOptions } from 'ws';
 
-import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration';
-import type { ConnectorStatus } from './ConnectorStatus';
-import type { OCPPProtocol } from './ocpp/OCPPProtocol';
-import type { OCPPVersion } from './ocpp/OCPPVersion';
-import type { IncomingRequestCommand, MessageTrigger, RequestCommand } from './ocpp/Requests';
+import type {
+  AutomaticTransactionGeneratorConfiguration,
+  ChargingStationOcppConfiguration,
+  ConnectorStatus,
+  FirmwareStatus,
+  IncomingRequestCommand,
+  MessageTrigger,
+  OCPPProtocol,
+  OCPPVersion,
+  RequestCommand,
+} from './internal';
 
 export enum CurrentType {
   AC = 'AC',
@@ -35,6 +40,15 @@ export enum Voltage {
 
 export type WsOptions = ClientOptions & ClientRequestArgs;
 
+export type FirmwareUpgrade = {
+  versionUpgrade?: {
+    patternGroup?: number;
+    step?: number;
+  };
+  reset?: boolean;
+  failureStatus?: FirmwareStatus;
+};
+
 type CommandsSupport = {
   incomingCommands: Record<IncomingRequestCommand, boolean>;
   outgoingCommands?: Record<RequestCommand, boolean>;
@@ -53,6 +67,7 @@ export type ChargingStationTemplate = {
   ocppPersistentConfiguration?: boolean;
   stationInfoPersistentConfiguration?: boolean;
   wsOptions?: WsOptions;
+  // FIXME: rename to idTagFile
   authorizationFile?: string;
   baseName: string;
   nameSuffix?: string;
@@ -61,7 +76,9 @@ export type ChargingStationTemplate = {
   chargePointVendor: string;
   chargePointSerialNumberPrefix?: string;
   chargeBoxSerialNumberPrefix?: string;
+  firmwareVersionPattern?: string;
   firmwareVersion?: string;
+  firmwareUpgrade?: FirmwareUpgrade;
   iccid?: string;
   imsi?: string;
   meterSerialNumberPrefix?: string;