X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fperformance%2Fstorage%2FMongoDBStorage.ts;h=d941d7c188ad920a036f804838056f26ae13b887;hb=844e496b3482e49145467af3f74df54811e91cb6;hp=5a3783818cba77bcb16bf25e622ae81015f77fe8;hpb=a6ceb16a6b67653adaa0b40cd057826c71f44f36;p=e-mobility-charging-stations-simulator.git diff --git a/src/performance/storage/MongoDBStorage.ts b/src/performance/storage/MongoDBStorage.ts index 5a378381..d941d7c1 100644 --- a/src/performance/storage/MongoDBStorage.ts +++ b/src/performance/storage/MongoDBStorage.ts @@ -1,28 +1,34 @@ // Copyright Jerome Benoit. 2021. All Rights Reserved. -import Constants from '../../utils/Constants'; import { MongoClient } from 'mongodb'; + import Statistics from '../../types/Statistics'; -import { Storage } from './Storage'; import { StorageType } from '../../types/Storage'; +import Constants from '../../utils/Constants'; +import { Storage } from './Storage'; export class MongoDBStorage extends Storage { - private client: MongoClient | null; + private readonly client: MongoClient | null; private connected: boolean; - constructor(storageURI: string, logPrefix: string) { - super(storageURI, logPrefix); - this.client = new MongoClient(this.storageURI.toString()); + 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; + this.dbName = + this.storageUri.pathname.replace(/(?:^\/)|(?:\/$)/g, '') ?? + Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME; } public async storePerformanceStatistics(performanceStatistics: Statistics): Promise { try { this.checkDBConnection(); - await this.client.db(this.dbName).collection(Constants.PERFORMANCE_RECORDS_TABLE).insertOne(performanceStatistics); + await this.client + .db(this.dbName) + .collection(Constants.PERFORMANCE_RECORDS_TABLE) + .insertOne(performanceStatistics); } catch (error) { - this.handleDBError(StorageType.MONGO_DB, error, Constants.PERFORMANCE_RECORDS_TABLE); + this.handleDBError(StorageType.MONGO_DB, error as Error, Constants.PERFORMANCE_RECORDS_TABLE); } } @@ -33,7 +39,7 @@ export class MongoDBStorage extends Storage { this.connected = true; } } catch (error) { - this.handleDBError(StorageType.MONGO_DB, error); + this.handleDBError(StorageType.MONGO_DB, error as Error); } } @@ -44,16 +50,24 @@ export class MongoDBStorage extends Storage { this.connected = false; } } catch (error) { - this.handleDBError(StorageType.MONGO_DB, error); + this.handleDBError(StorageType.MONGO_DB, error as Error); } } private checkDBConnection() { if (!this?.client) { - throw new Error(`${this.logPrefix} ${this.getDBNameFromStorageType(StorageType.MONGO_DB)} client initialization failed while trying to issue a request`); + throw new Error( + `${this.logPrefix} ${this.getDBNameFromStorageType( + StorageType.MONGO_DB + )} client initialization failed while trying to issue a request` + ); } if (!this.connected) { - throw new Error(`${this.logPrefix} ${this.getDBNameFromStorageType(StorageType.MONGO_DB)} connection not opened while trying to issue a request`); + throw new Error( + `${this.logPrefix} ${this.getDBNameFromStorageType( + StorageType.MONGO_DB + )} connection not opened while trying to issue a request` + ); } } }