refactor: move template firmware defaults to constants
[e-mobility-charging-stations-simulator.git] / src / types / orm / entities / PerformanceRecord.ts
index 1369377d7207db7b4484058aa9607f52fe7f50ae..bdd88abaeb6cd04e4ab8fc79752343ade355d295 100644 (file)
@@ -1,19 +1,42 @@
-import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core';
+import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
 
-import type { PerformanceData } from '../../internal';
+interface StatisticsData {
+  name: string
+  requestCount: number
+  responseCount: number
+  errorCount: number
+  timeMeasurementCount: number
+  measurementTimeSeries: Array<{
+    timestamp: number
+    value: number
+  }>
+  currentTimeMeasurement: number
+  minTimeMeasurement: number
+  maxTimeMeasurement: number
+  totalTimeMeasurement: number
+  avgTimeMeasurement: number
+  medTimeMeasurement: number
+  ninetyFiveThPercentileTimeMeasurement: number
+  stdDevTimeMeasurement: number
+}
 
 @Entity()
 export class PerformanceRecord {
-  // @PrimaryKey()
-  // pk!: number;
-  // @Property()
-  // id!: string;
-  // @Property()
-  // URI!: string;
-  // @Property()
-  // createdAt!: Date;
-  // @Property()
-  // updatedAt?: Date;
-  // @OneToMany('PerformanceData', 'performanceRecord')
-  // performanceData? = new Collection<PerformanceData>(this);
+  @PrimaryKey()
+    id!: string
+
+  @Property()
+    name!: string
+
+  @Property()
+    uri!: string
+
+  @Property()
+    createdAt!: Date
+
+  @Property()
+    updatedAt?: Date
+
+  @Property()
+    statisticsData!: Array<Partial<StatisticsData>>
 }