/**
 * Database Lib - 数据库核心库
 */

const connection = require('./connection');
const AccountRepository = require('./account-repository');

module.exports = {
  /**
   * 初始化数据库连接
   */
  async initialize(config) {
    return await connection.initialize(config);
  },
  
  /**
   * 获取连接
   */
  getConnection() {
    return connection;
  },
  
  /**
   * 获取 Repository
   */
  getRepository(name) {
    const repositories = {
      account: new AccountRepository(connection)
    };
    
    return repositories[name];
  },
  
  /**
   * 关闭数据库连接
   */
  async close() {
    return await connection.close();
  },
  
  // 直接导出以便使用
  connection,
  AccountRepository
};
