we0-cms-pgsql-api
Version:
A CMS API package for Next.js applications with dynamic table management
48 lines (47 loc) • 1.43 kB
TypeScript
import { JsonSchema, PaginatedResponse } from "../types";
export declare class DynamicTableService {
private queryInterface;
constructor();
/**
* 根据 JSON 模式创建数据表
*/
createTable(tableName: string, schema: JsonSchema): Promise<boolean>;
/**
* 删除数据表
*/
dropTable(tableName: string): Promise<boolean>;
/**
* 检查表是否存在
*/
tableExists(tableName: string): Promise<boolean>;
/**
* 获取表结构
*/
getTableStructure(tableName: string): Promise<import("sequelize").ColumnsDescription | null>;
/**
* 执行原生 SQL 查询
*/
executeQuery(sql: string, values?: any[]): Promise<any>;
/**
* 获取表数据(分页)
*/
getTableData(tableName: string, page?: number, limit?: number, where?: string): Promise<PaginatedResponse>;
/**
* 插入数据
*/
insertData(tableName: string, data: Record<string, any>): Promise<any>;
/**
* 更新数据
*/
updateData(tableName: string, id: number, data: Record<string, any>): Promise<any>;
/**
* 删除数据
*/
deleteData(tableName: string, id: number): Promise<any>;
/**
* 根据 ID 获取单条数据
*/
getDataById(tableName: string, id: number): Promise<any>;
}
export declare function getDynamicTableService(): DynamicTableService;
export default DynamicTableService;