1 import { JSONFileStorage
} from
'./JSONFileStorage';
2 import { MongoDBStorage
} from
'./MongoDBStorage';
3 import { Storage
} from
'./Storage';
4 import { StorageType
} from
'../../types/Storage';
5 import logger from
'../Logger';
7 export class StorageFactory
{
8 // eslint-disable-next-line @typescript-eslint/no-empty-function
9 private constructor() {
10 // This is intentional
13 public static getStorage(type: StorageType
, connectionURI
: string, logPrefix
: string): Storage
{
14 let storageInstance
: Storage
= null;
16 case StorageType
.JSON_FILE
:
17 storageInstance
= new JSONFileStorage(connectionURI
, logPrefix
);
19 case StorageType
.MONGO_DB
:
20 storageInstance
= new MongoDBStorage(connectionURI
, logPrefix
);
23 logger
.error(`${logPrefix} Unknown storage type: ${type}`);
25 return storageInstance
;