manager.ts
1 import { L2AccountsTableApi } from './interface/AccountsTableApi' 2 import { L2DatabaseOperations, L2LoginDatabaseApi } from './type/IDatabaseApi' 3 import { SQLiteLoginDatabase } from './type/SQLite' 4 import { ConfigManager } from '../config/ConfigManager' 5 import { L2BanTableApi } from './interface/BanTableApi' 6 7 const allEngines = { 8 sqlite: SQLiteLoginDatabase, 9 } 10 11 const getEngine = (): L2LoginDatabaseApi => { 12 return allEngines[ ConfigManager.database.getEngine() ] 13 } 14 15 export const DatabaseManager = { 16 getAccounts(): L2AccountsTableApi { 17 return getEngine().accountsTable 18 }, 19 20 getBanData() : L2BanTableApi { 21 return getEngine().banTable 22 }, 23 24 operations() : L2DatabaseOperations { 25 return getEngine().operations 26 } 27 }