UNPKG

longcelot-sheet-db

Version:

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

36 lines 1.57 kB
import { SheetAdapter } from '../../adapter/sheetAdapter'; import { ActorConfig, TableSchema } from '../../schema/types'; export interface CLIConfig { actors: ActorConfig[]; projectName?: string; schemasDir?: string; } export declare function loadCLIConfig(): CLIConfig; /** * Sets up a fully-wired SheetAdapter (env checks, OAuth, admin context) with the given schemas * registered — shared by drop-table/drop-column/rename-column, which each also need direct * SheetClient access (via adapter.getClient()) alongside normal table() CRUD for reading the * admin `users` table on --all-users. */ export declare function buildAdminAdapter(params: { config: CLIConfig; schemas: TableSchema[]; tokenFile?: string; }): Promise<{ adapter: SheetAdapter; adminCtx: SheetAdapter; adminSheetId: string; }>; export interface SheetTarget { sheetId: string; /** Human-readable label for status output, e.g. 'admin', 'seller (dev/shared)', 'seller:user_123'. */ label: string; } /** * Resolves which live Google Sheets a change to an actor's table should apply to: the admin * sheet for actor:'admin', or the actor's configured dev/shared sheet plus (with --all-users) * every registered user's personal actor sheet, read from the admin `users` table exactly like * sync.ts's --all-users flow does. */ export declare function resolveSheetTargets(adminCtx: SheetAdapter, actor: string, adminSheetId: string, actorCfg: ActorConfig | undefined, allUsers: boolean): Promise<SheetTarget[]>; //# sourceMappingURL=adminAdapter.d.ts.map