/ login-server / source / database / manager.ts
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  }