we0-cms-supabase-api
Version:
A CMS API package for Next.js applications with Supabase and dynamic table management
52 lines (51 loc) • 1.63 kB
TypeScript
import { JsonSchema, PaginatedResponse } from "../types";
export declare class DynamicTableService {
private supabase;
constructor();
/**
* 根据 JSON 模式创建数据表
*/
createTable(tableName: string, schema: JsonSchema): Promise<boolean>;
/**
* 删除数据表
*/
dropTable(tableName: string): Promise<boolean>;
/**
* 检查表是否存在
*/
tableExists(tableName: string): Promise<boolean>;
/**
* 获取表结构
*/
getTableStructure(tableName: string): Promise<any>;
/**
* 执行原生 SQL 查询
*/
executeQuery(sql: string, values?: any[]): Promise<any>;
/**
* 获取表数据(分页)
*/
getTableData(tableName: string, page?: number, limit?: number, where?: string): Promise<PaginatedResponse>;
/**
* 获取表数据(分页,带搜索)
*/
getTableDataWithSearch(tableName: string, page: number | undefined, limit: number | undefined, searchableFields: string[], searchValue: 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;