UNPKG

longcelot-sheet-db

Version:

Google Sheets-backed staging database adapter for Node.js with schema-first design

31 lines 1.47 kB
import { TableSchema, UserContext, ActorPermission } from '../../schema/types'; import type { DatabaseAdapter } from '../types'; import { SQLConnection } from './connection'; import { SQLDialect } from './dialect'; import { SQLTableOperations } from './sqlTableOperations'; export interface SQLAdapterConfig { /** Column injected into every non-admin table to scope rows to a tenant. Default: 'tenant_id'. */ tenantColumn?: string; permissions?: Record<string, ActorPermission>; } /** * Shared DatabaseAdapter implementation for the Postgres/MySQL adapters (Phase 16.2) — * withContext()/asActor()/table() mirror SheetAdapter's exactly (same actor/role and * targetActor/targetRole normalization), minus the Sheets-only schema-version-check * machinery, since SQL adapters never auto-sync schema at runtime (Phase 16 decision 5). */ export declare class SQLAdapterBase implements DatabaseAdapter { private connection; private dialect; private schemas; private context?; private tenantColumn; private permissions?; constructor(connection: SQLConnection, dialect: SQLDialect, config?: SQLAdapterConfig); registerSchema(schema: TableSchema): void; registerSchemas(schemas: TableSchema[]): void; withContext(context: UserContext): SQLAdapterBase; asActor(targetActor: string, targetSheetId: string): SQLAdapterBase; table(tableName: string): SQLTableOperations; } //# sourceMappingURL=sqlAdapterBase.d.ts.map