UNPKG

we0-cms-supabase-api

Version:

A CMS API package for Next.js applications with Supabase and dynamic table management

70 lines (69 loc) 1.5 kB
export interface SchemaField { name: string; type: string; required?: boolean; unique?: boolean; maxLength?: number; defaultValue?: any; comment?: string; } export interface JsonSchema { fields: SchemaField[]; } export interface CmsModelAttributes { id: number; name: string; table_name: string; json_schema: JsonSchema; created_at: Date; updated_at: Date; } export interface CmsModelCreationAttributes { name: string; table_name: string; json_schema: JsonSchema; } export interface ApiResponse<T = any> { success: boolean; message?: string; data?: T; error?: string; } export interface PaginatedResponse<T = any> { data: T[]; total: number; page: number; limit: number; totalPages: number; } export interface SupabaseConfig { url: string; key: string; schema?: string; } export interface DatabaseConfig extends SupabaseConfig { } export interface TableDataOptions { page?: number; limit?: number; search?: string; where?: string; orderBy?: string; ascending?: boolean; } export interface SupabaseFilter { column: string; operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'like' | 'ilike' | 'in' | 'is'; value: any; } export interface FieldTypeMapping { string: 'text'; text: 'text'; integer: 'int4'; float: 'float8'; boolean: 'bool'; date: 'date'; datetime: 'timestamptz'; json: 'jsonb'; email: 'text'; }