UNPKG

@gftdcojp/gftd-orm

Version:

Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture

141 lines 3.95 kB
/** * Next.js環境のサーバー専用クライアント * Server ComponentsやAPI Routes、middleware等で使用 */ declare class DatabaseClient { constructor(config: any); initialize(): Promise<void>; from<T = any>(table: string): { select: () => { eq: () => { execute: () => Promise<{ data: never[]; error: null; }>; }; }; insert: (data: any) => Promise<{ data: never[]; error: null; }>; update: (data: any) => Promise<{ data: never[]; error: null; }>; delete: () => Promise<{ data: never[]; error: null; }>; execute: () => Promise<{ data: never[]; error: null; }>; }; sql(query: string, params?: any[]): Promise<{ data: never[]; queryId: string; }>; health(): Promise<{ status: string; }>; } import { RealtimeClient } from '../realtime-client'; import { ServerClientConfig, BaseClient, ClientHealth, QueryResult, StreamController } from './types'; /** * サーバー専用のGFTD-ORMクライアント */ export declare class ServerClient implements BaseClient { private config; private _database; private _realtime; private initialized; private _isConnected; constructor(config: ServerClientConfig); /** * サーバー環境の検証 */ private validateServerEnvironment; /** * データベースクライアントを取得 */ get database(): DatabaseClient; /** * リアルタイムクライアントを取得 */ get realtime(): RealtimeClient; /** * クライアントを初期化 */ initialize(): Promise<void>; /** * Supabaseライクなテーブルアクセス */ from<T = any>(table: string): { select: () => { eq: () => { execute: () => Promise<{ data: never[]; error: null; }>; }; }; insert: (data: any) => Promise<{ data: never[]; error: null; }>; update: (data: any) => Promise<{ data: never[]; error: null; }>; delete: () => Promise<{ data: never[]; error: null; }>; execute: () => Promise<{ data: never[]; error: null; }>; }; /** * SQL クエリを実行 */ query<T = any>(sql: string, params?: any[]): Promise<QueryResult<T>>; /** * ストリーミングクエリを実行(サーバー版は高機能) */ stream<T = any>(sql: string, onData: (data: T) => void, onError?: (error: Error) => void): Promise<StreamController>; /** * リアルタイムチャンネル */ channel(name: string): import("../realtime-client").RealtimeChannel; /** * ヘルスチェック(サーバー版は詳細な情報を提供) */ health(): Promise<ClientHealth>; /** * 接続状態を確認 */ isConnected(): boolean; /** * すべての接続を閉じる */ disconnect(): Promise<void>; /** * 環境変数から設定を自動読み込み */ static fromEnvironment(): ServerClient; } /** * サーバー専用クライアント作成関数 */ export declare function createServerClient(config: ServerClientConfig): ServerClient; /** * Next.js Server Components用のクライアント作成関数 */ export declare function createNextServerClient(config: ServerClientConfig): ServerClient; /** * 環境変数から自動的にサーバークライアントを作成 */ export declare function createServerClientFromEnv(): ServerClient; export {}; //# sourceMappingURL=server.d.ts.map