refactor: refine .cfignore
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationInfo.ts
index 192e5771c0152ecf83126778b2a9eac38db69a3b..4ebdc150720488c5d37837c4161055d5f52979d6 100644 (file)
@@ -1,26 +1,33 @@
-import type ChargingStationTemplate from './ChargingStationTemplate';
+import type { ChargingStationTemplate } from './ChargingStationTemplate.js'
+import type { FirmwareStatus } from './ocpp/Requests.js'
 
-export default interface ChargingStationInfo
-  extends Omit<
-    ChargingStationTemplate,
-    | 'AutomaticTransactionGenerator'
-    | 'Configuration'
-    | 'power'
-    | 'powerUnit'
-    | 'chargeBoxSerialNumberPrefix'
-    | 'chargePointSerialNumberPrefix'
-    | 'meterSerialNumberPrefix'
-  > {
-  hashId: string;
-  infoHash?: string;
-  chargingStationId?: string;
-  chargeBoxSerialNumber?: string;
-  chargePointSerialNumber?: string;
-  meterSerialNumber?: string;
-  maximumPower?: number; // Always in Watt
-  maximumAmperage?: number; // Always in Ampere
+export type ChargingStationInfo = Omit<
+ChargingStationTemplate,
+| 'Connectors'
+| 'Evses'
+| 'Configuration'
+| 'AutomaticTransactionGenerator'
+| 'numberOfConnectors'
+| 'power'
+| 'powerUnit'
+| 'chargeBoxSerialNumberPrefix'
+| 'chargePointSerialNumberPrefix'
+| 'meterSerialNumberPrefix'
+> & {
+  hashId: string
+  templateIndex: number
+  templateName: string
+  /** @deprecated Use hashId instead */
+  infoHash?: string
+  chargingStationId?: string
+  chargeBoxSerialNumber?: string
+  chargePointSerialNumber?: string
+  meterSerialNumber?: string
+  maximumPower?: number // Always in Watt
+  maximumAmperage?: number // Always in Ampere
+  firmwareStatus?: FirmwareStatus
 }
 
 export interface ChargingStationInfoConfiguration {
-  stationInfo?: ChargingStationInfo;
+  stationInfo?: ChargingStationInfo
 }