fix: handle properly async performance storage
[e-mobility-charging-stations-simulator.git] / src / types / orm / entities / PerformanceData.ts
index ecd92eefbad486f5d8800da6f38d25820a81ce78..b5cc80271549cdbbb8acbbeb6e9f9cb8d9bca425 100644 (file)
@@ -1,51 +1,51 @@
-import { Entity, PrimaryKey, Property } from '@mikro-orm/core';
+import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
-import { CircularArray } from '../../../utils/CircularArray';
+import { PerformanceRecord } from './PerformanceRecord.js'
 
 @Entity()
 export class PerformanceData {
-  // @PrimaryKey()
-  // pk!: number;
+  @PrimaryKey()
+    commandName!: string
 
-  // @Property()
-  // commandName: string;
+  @Property()
+    requestCount!: number
 
-  // @Property()
-  // countRequest: number;
+  @Property()
+    responseCount!: number
 
-  // @Property()
-  // countResponse: number;
+  @Property()
+    errorCount!: number
 
-  // @Property()
-  // countError: number;
+  @Property()
+    timeMeasurementCount!: number
 
-  // @Property()
-  // countTimeMeasurement: number;
+  @Property()
+    measurementTimeSeries!: number[]
 
-  // @Property()
-  // timeMeasurementSeries: CircularArray<number>;
+  @Property()
+    currentTimeMeasurement!: number
 
-  // @Property()
-  // currentTimeMeasurement: number;
+  @Property()
+    minTimeMeasurement!: number
 
-  // @Property()
-  // minTimeMeasurement: number;
+  @Property()
+    maxTimeMeasurement!: number
 
-  // @Property()
-  // maxTimeMeasurement: number;
+  @Property()
+    totalTimeMeasurement!: number
 
-  // @Property()
-  // totalTimeMeasurement: number;
+  @Property()
+    avgTimeMeasurement!: number
 
-  // @Property()
-  // avgTimeMeasurement: number;
+  @Property()
+    medTimeMeasurement!: number
 
-  // @Property()
-  // medTimeMeasurement: number;
+  @Property()
+    ninetyFiveThPercentileTimeMeasurement!: number
 
-  // @Property()
-  // ninetyFiveThPercentileTimeMeasurement: number;
+  @Property()
+    stdDevTimeMeasurement!: number
 
-  // @Property()
-  // stdDevTimeMeasurement: number;
+  @ManyToOne(() => PerformanceRecord)
+    performanceRecord!: PerformanceRecord
 }