UNPKG

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
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;