build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / performance / storage / MongoDBStorage.ts
index 70256fc953d358e215f5ee9124d0997314fe3e8a..c3c98022d4204c63aa6d940f7cac887d2424ed58 100644 (file)
@@ -1,11 +1,11 @@
-// Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
+// Copyright Jerome Benoit. 2021-2024. All Rights Reserved.
 
 import { MongoClient } from 'mongodb'
 
-import { Storage } from './Storage.js'
 import { BaseError } from '../../exception/index.js'
 import { type Statistics, StorageType } from '../../types/index.js'
 import { Constants } from '../../utils/index.js'
+import { Storage } from './Storage.js'
 
 export class MongoDBStorage extends Storage {
   private readonly client?: MongoClient
@@ -15,13 +15,12 @@ export class MongoDBStorage extends Storage {
     super(storageUri, logPrefix)
     this.client = new MongoClient(this.storageUri.toString())
     this.connected = false
-    this.dbName =
-      this.storageUri.pathname.replace(/(?:^\/)|(?:\/$)/g, '') ??
-      Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME
+    this.dbName = this.storageUri.pathname.replace(/(?:^\/)|(?:\/$)/g, '')
   }
 
   public async storePerformanceStatistics (performanceStatistics: Statistics): Promise<void> {
     try {
+      this.setPerformanceStatistics(performanceStatistics)
       this.checkDBConnection()
       await this.client
         ?.db(this.dbName)
@@ -34,7 +33,7 @@ export class MongoDBStorage extends Storage {
 
   public async open (): Promise<void> {
     try {
-      if (!this.connected && this?.client != null) {
+      if (!this.connected && this.client != null) {
         await this.client.connect()
         this.connected = true
       }
@@ -44,8 +43,9 @@ export class MongoDBStorage extends Storage {
   }
 
   public async close (): Promise<void> {
+    this.clearPerformanceStatistics()
     try {
-      if (this.connected && this?.client != null) {
+      if (this.connected && this.client != null) {
         await this.client.close()
         this.connected = false
       }
@@ -55,7 +55,7 @@ export class MongoDBStorage extends Storage {
   }
 
   private checkDBConnection (): void {
-    if (this?.client == null) {
+    if (this.client == null) {
       throw new BaseError(
         `${this.logPrefix} ${this.getDBNameFromStorageType(
           StorageType.MONGO_DB