chore: switch coding style to JS standard
[e-mobility-charging-stations-simulator.git] / src / performance / storage / MongoDBStorage.ts
index e27b33c42b494f3a07a015ec596482167c21cf0d..70256fc953d358e215f5ee9124d0997314fe3e8a 100644 (file)
@@ -1,73 +1,73 @@
 // Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { MongoClient } from 'mongodb';
+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'
+import { BaseError } from '../../exception/index.js'
+import { type Statistics, StorageType } from '../../types/index.js'
+import { Constants } from '../../utils/index.js'
 
 export class MongoDBStorage extends Storage {
-  private readonly client?: MongoClient;
-  private connected: boolean;
+  private readonly client?: MongoClient
+  private connected: boolean
 
-  constructor(storageUri: string, logPrefix: string) {
-    super(storageUri, logPrefix);
-    this.client = new MongoClient(this.storageUri.toString());
-    this.connected = false;
+  constructor (storageUri: string, logPrefix: string) {
+    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;
+      Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME
   }
 
-  public async storePerformanceStatistics(performanceStatistics: Statistics): Promise<void> {
+  public async storePerformanceStatistics (performanceStatistics: Statistics): Promise<void> {
     try {
-      this.checkDBConnection();
+      this.checkDBConnection()
       await this.client
         ?.db(this.dbName)
         .collection<Statistics>(Constants.PERFORMANCE_RECORDS_TABLE)
-        .replaceOne({ id: performanceStatistics.id }, performanceStatistics, { upsert: true });
+        .replaceOne({ id: performanceStatistics.id }, performanceStatistics, { upsert: true })
     } catch (error) {
-      this.handleDBError(StorageType.MONGO_DB, error as Error, Constants.PERFORMANCE_RECORDS_TABLE);
+      this.handleDBError(StorageType.MONGO_DB, error as Error, Constants.PERFORMANCE_RECORDS_TABLE)
     }
   }
 
-  public async open(): Promise<void> {
+  public async open (): Promise<void> {
     try {
-      if (!this.connected && this?.client) {
-        await this.client.connect();
-        this.connected = true;
+      if (!this.connected && this?.client != null) {
+        await this.client.connect()
+        this.connected = true
       }
     } catch (error) {
-      this.handleDBError(StorageType.MONGO_DB, error as Error);
+      this.handleDBError(StorageType.MONGO_DB, error as Error)
     }
   }
 
-  public async close(): Promise<void> {
+  public async close (): Promise<void> {
     try {
-      if (this.connected && this?.client) {
-        await this.client.close();
-        this.connected = false;
+      if (this.connected && this?.client != null) {
+        await this.client.close()
+        this.connected = false
       }
     } catch (error) {
-      this.handleDBError(StorageType.MONGO_DB, error as Error);
+      this.handleDBError(StorageType.MONGO_DB, error as Error)
     }
   }
 
-  private checkDBConnection() {
-    if (!this?.client) {
+  private checkDBConnection (): void {
+    if (this?.client == null) {
       throw new BaseError(
         `${this.logPrefix} ${this.getDBNameFromStorageType(
-          StorageType.MONGO_DB,
-        )} client initialization failed while trying to issue a request`,
-      );
+          StorageType.MONGO_DB
+        )} client initialization failed while trying to issue a request`
+      )
     }
     if (!this.connected) {
       throw new BaseError(
         `${this.logPrefix} ${this.getDBNameFromStorageType(
-          StorageType.MONGO_DB,
-        )} connection not opened while trying to issue a request`,
-      );
+          StorageType.MONGO_DB
+        )} connection not opened while trying to issue a request`
+      )
     }
   }
 }