-// Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
-import { JSONFileStorage } from './JSONFileStorage';
-import { MikroORMStorage } from './MikroORMStorage';
+import { JsonFileStorage } from './JsonFileStorage';
+import { MikroOrmStorage } from './MikroOrmStorage';
import { MongoDBStorage } from './MongoDBStorage';
-import { Storage } from './Storage';
-import { StorageType } from '../../types/Storage';
+import type { Storage } from './Storage';
+import { BaseError } from '../../exception';
+import { StorageType } from '../../types';
export class StorageFactory {
private constructor() {
}
public static getStorage(type: StorageType, connectionUri: string, logPrefix: string): Storage {
- let storageInstance: Storage = null;
+ let storageInstance: Storage | null = null;
switch (type) {
case StorageType.JSON_FILE:
- storageInstance = new JSONFileStorage(connectionUri, logPrefix);
+ storageInstance = new JsonFileStorage(connectionUri, logPrefix);
break;
case StorageType.MONGO_DB:
storageInstance = new MongoDBStorage(connectionUri, logPrefix);
// case StorageType.MYSQL:
// case StorageType.MARIA_DB:
// case StorageType.SQLITE:
- // storageInstance = new MikroORMStorage(connectionURI, logPrefix, type);
+ // storageInstance = new MikroOrmStorage(connectionUri, logPrefix, type);
// break;
default:
- throw new Error(`${logPrefix} Unknown storage type: ${type}`);
+ throw new BaseError(`${logPrefix} Unknown storage type: ${type}`);
}
return storageInstance;
}