/** * 数据库适配器接口 */ import { DatabaseConfig } from '../interfaces/common'; /** * 数据库适配器接口定义 * 提供统一的数据库操作方法,支持不同类型数据库的实现 */ export interface DatabaseAdapter { /** * 初始化数据库连接 * @param config 数据库配置 * @returns Promise */ initialize(config: DatabaseConfig): Promise; /** * 关闭数据库连接 * @returns Promise */ close(): Promise; /** * 创建记录 * @param collection 集合/表名 * @param data 要创建的数据 * @returns Promise 创建后的记录 */ create(collection: string, data: Partial): Promise; /** * 根据ID获取记录 * @param collection 集合/表名 * @param id 记录ID * @returns Promise 查询到的记录或null */ getById(collection: string, id: string): Promise; /** * 根据条件查询记录 * @param collection 集合/表名 * @param query 查询条件 * @param skip 跳过的记录数 * @param limit 返回的最大记录数 * @param sort 排序条件 * @returns Promise<{data: T[], total: number}> 查询结果和总记录数 */ find( collection: string, query: any, skip: number, limit: number, sort?: any ): Promise<{data: T[], total: number}>; /** * 更新记录 * @param collection 集合/表名 * @param id 记录ID * @param data 更新的数据 * @returns Promise 更新后的记录或null */ update(collection: string, id: string, data: Partial): Promise; /** * 删除记录 * @param collection 集合/表名 * @param id 记录ID * @returns Promise 是否删除成功 */ delete(collection: string, id: string): Promise; /** * 批量创建记录 * @param collection 集合/表名 * @param dataList 要创建的记录列表 * @returns Promise 创建后的记录列表 */ bulkCreate(collection: string, dataList: Partial[]): Promise; }