fix: fix ATG refresh at template changes
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationInfo.ts
index 28895067edf6adb954291fc097d90b872098b3aa..e56db70980ea14a71a3af7c224f9119848f50a7e 100644 (file)
@@ -1,9 +1,39 @@
-import ChargingStationTemplate from './ChargingStationTemplate';
+import type { ChargingStationTemplate, FirmwareStatus } from './internal';
 
-export default interface ChargingStationInfo extends ChargingStationTemplate {
+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;
   chargePointSerialNumber?: string;
-  maxPower?: number; // Always in Watt
-  powerDivider?: number;
-}
+  meterSerialNumber?: string;
+  maximumPower?: number; // Always in Watt
+  maximumAmperage?: number; // Always in Ampere
+  firmwareStatus?: FirmwareStatus;
+  x509Certificates?: Record<x509CertificateType, string>;
+};
+
+export type ChargingStationInfoConfiguration = {
+  stationInfo?: ChargingStationInfo;
+};