Throw an error in the template does not have default required mesurand
[e-mobility-charging-stations-simulator.git] / src / types / orm / entities / PerformanceRecords.ts
CommitLineData
c27c3eee
JB
1import { Column, Entity, ManyToOne, OneToMany } from 'typeorm';
2
3import { CircularArray } from '../../../utils/CircularArray';
4
5@Entity()
6export class PerformanceRecords {
7 @Column('string')
8 id: string;
9
10 @Column('string')
11 URI: string;
12
13 @Column('date')
14 createdAt: Date;
15
16 @Column('date')
17 lastUpdatedAt?: Date;
18
19 @OneToMany((type) => PerformanceData, (performanceData) => performanceData.performanceRecords)
20 performanceData?: PerformanceData[];
21}
22
23@Entity()
24export class PerformanceData {
25 @Column('string')
26 commandName: string;
27
28 @Column('integer')
29 countRequest: number;
30
31 @Column('integer')
32 countResponse: number;
33
34 @Column('integer')
35 countError: number;
36
37 @Column('integer')
38 countTimeMeasurement: number;
39
40 @Column({ type: 'double', array: true })
41 timeMeasurementSeries: CircularArray<number>;
42
43 @Column('double')
44 currentTimeMeasurement: number;
45
46 @Column('double')
47 minTimeMeasurement: number;
48
49 @Column('double')
50 maxTimeMeasurement: number;
51
52 @Column('double')
53 totalTimeMeasurement: number;
54
55 @Column('double')
56 avgTimeMeasurement: number;
57
58 @Column('double')
59 medTimeMeasurement: number;
60
61 @Column('double')
62 ninetyFiveThPercentileTimeMeasurement: number;
63
64 @Column('double')
65 stdDevTimeMeasurement: number;
66
67 @ManyToOne((type) => PerformanceRecords, (performanceRecords) => performanceRecords.performanceData)
68 performanceRecords?: PerformanceRecords;
69}