fix: fix ATG refresh at template changes
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationInfo.ts
index 4f9697a67a0be01889e5ebf9a3ab080f020aa872..e56db70980ea14a71a3af7c224f9119848f50a7e 100644 (file)
@@ -1,16 +1,28 @@
-import type ChargingStationTemplate from './ChargingStationTemplate';
+import type { ChargingStationTemplate, FirmwareStatus } from './internal';
 
-export default interface ChargingStationInfo
-  extends Omit<
-    ChargingStationTemplate,
-    | 'AutomaticTransactionGenerator'
-    | 'Configuration'
-    | 'power'
-    | 'powerUnit'
-    | 'chargeBoxSerialNumberPrefix'
-    | 'chargePointSerialNumberPrefix'
-    | 'meterSerialNumberPrefix'
-  > {
+enum x509CertificateType {
+  V2GRootCertificate = 'V2GRootCertificate',
+  MORootCertificate = 'MORootCertificate',
+  CSMSRootCertificate = 'CSMSRootCertificate',
+  ManufacturerRootCertificate = 'ManufacturerRootCertificate',
+  ChargingStationCertificate = 'ChargingStationCertificate',
+  V2GCertificate = 'V2GCertificate',
+}
+
+export type ChargingStationInfo = Omit<
+  ChargingStationTemplate,
+  | 'AutomaticTransactionGenerator'
+  | 'Configuration'
+  | 'Connectors'
+  | 'Evses'
+  | 'power'
+  | 'powerUnit'
+  | 'chargeBoxSerialNumberPrefix'
+  | 'chargePointSerialNumberPrefix'
+  | 'meterSerialNumberPrefix'
+> & {
+  hashId: string;
+  /** @deprecated Use hashId instead */
   infoHash?: string;
   chargingStationId?: string;
   chargeBoxSerialNumber?: string;
@@ -18,8 +30,10 @@ export default interface ChargingStationInfo
   meterSerialNumber?: string;
   maximumPower?: number; // Always in Watt
   maximumAmperage?: number; // Always in Ampere
-}
+  firmwareStatus?: FirmwareStatus;
+  x509Certificates?: Record<x509CertificateType, string>;
+};
 
-export interface ChargingStationInfoConfiguration {
+export type ChargingStationInfoConfiguration = {
   stationInfo?: ChargingStationInfo;
-}
+};