feat: allow to provision number of stations by template
[e-mobility-charging-stations-simulator.git] / src / types / Statistics.ts
index 60b2379b77577757f4f5d883e828662645acb8f1..4c03dd9d73c62c06f35d432bbc18cf9be62ec082 100644 (file)
@@ -1,33 +1,41 @@
-import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
-import type { CircularArray } from '../utils';
-import type { WorkerData } from '../worker';
+import type { CircularArray } from '../utils/index.js'
+import type { WorkerData } from '../worker/index.js'
+import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests.js'
 
 export interface TimestampedData {
-  timestamp: number;
-  value: number;
+  timestamp: number
+  value: number
 }
 
 export type StatisticsData = Partial<{
-  requestCount: number;
-  responseCount: number;
-  errorCount: number;
-  timeMeasurementCount: number;
-  measurementTimeSeries: CircularArray<TimestampedData>;
-  currentTimeMeasurement: number;
-  minTimeMeasurement: number;
-  maxTimeMeasurement: number;
-  totalTimeMeasurement: number;
-  avgTimeMeasurement: number;
-  medTimeMeasurement: number;
-  ninetyFiveThPercentileTimeMeasurement: number;
-  stdDevTimeMeasurement: number;
-}>;
+  requestCount: number
+  responseCount: number
+  errorCount: number
+  timeMeasurementCount: number
+  measurementTimeSeries: CircularArray<TimestampedData>
+  currentTimeMeasurement: number
+  minTimeMeasurement: number
+  maxTimeMeasurement: number
+  totalTimeMeasurement: number
+  avgTimeMeasurement: number
+  medTimeMeasurement: number
+  ninetyFiveThPercentileTimeMeasurement: number
+  stdDevTimeMeasurement: number
+}>
 
-export type Statistics = {
-  id: string;
-  name: string;
-  uri: string;
-  createdAt: Date;
-  updatedAt?: Date;
-  statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>;
-} & WorkerData;
+export interface Statistics extends WorkerData {
+  id: string
+  name: string
+  uri: string
+  createdAt: Date
+  updatedAt?: Date
+  statisticsData: Map<string | RequestCommand | IncomingRequestCommand, StatisticsData>
+}
+
+export interface TemplateStatistics {
+  configured: number
+  provisioned: number
+  added: number
+  started: number
+  indexes: Set<number>
+}