repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: prepare for MikroORM storage support
[e-mobility-charging-stations-simulator.git]
/
src
/
performance
/
storage
/
MikroOrmStorage.ts
diff --git
a/src/performance/storage/MikroOrmStorage.ts
b/src/performance/storage/MikroOrmStorage.ts
index d5e25bb2c6e7e205a98963bd3bd97195d7dc73cb..9746c6bd5f5a09b439129338fc1dde2a1a82a013 100644
(file)
--- a/
src/performance/storage/MikroOrmStorage.ts
+++ b/
src/performance/storage/MikroOrmStorage.ts
@@
-4,7
+4,7
@@
import { MikroORM as MariaDbORM, type Options as MariaDbOptions } from '@mikro-o
import { MikroORM as SqliteORM, type Options as SqliteOptions } from '@mikro-orm/sqlite'
import { Storage } from './Storage.js'
import { MikroORM as SqliteORM, type Options as SqliteOptions } from '@mikro-orm/sqlite'
import { Storage } from './Storage.js'
-import { type Statistics, StorageType } from '../../types/index.js'
+import { type
PerformanceRecord, type
Statistics, StorageType } from '../../types/index.js'
import { Constants } from '../../utils/index.js'
export class MikroOrmStorage extends Storage {
import { Constants } from '../../utils/index.js'
export class MikroOrmStorage extends Storage {
@@
-19,8
+19,13
@@
export class MikroOrmStorage extends Storage {
public async storePerformanceStatistics (performanceStatistics: Statistics): Promise<void> {
try {
public async storePerformanceStatistics (performanceStatistics: Statistics): Promise<void> {
try {
- // TODO: build PerformanceRecord entity
- await this.orm?.em.persistAndFlush({})
+ await this.orm?.em.persistAndFlush({
+ ...performanceStatistics,
+ statisticsData: Array.from(performanceStatistics.statisticsData, ([name, value]) => ({
+ name,
+ ...value
+ }))
+ } satisfies PerformanceRecord)
} catch (error) {
this.handleDBError(this.storageType, error as Error, Constants.PERFORMANCE_RECORDS_TABLE)
}
} catch (error) {
this.handleDBError(this.storageType, error as Error, Constants.PERFORMANCE_RECORDS_TABLE)
}
@@
-57,7
+62,7
@@
export class MikroOrmStorage extends Storage {
private getDBName (): string {
if (this.storageType === StorageType.SQLITE) {
private getDBName (): string {
if (this.storageType === StorageType.SQLITE) {
- return `${Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME}.db`
+ return `${Constants.DEFAULT_PERFORMANCE_
DIRECTORY}/${Constants.DEFAULT_PERFORMANCE_
RECORDS_DB_NAME}.db`
}
return this.storageUri.pathname.replace(/(?:^\/)|(?:\/$)/g, '')
}
}
return this.storageUri.pathname.replace(/(?:^\/)|(?:\/$)/g, '')
}