SurfSense/surfsense_web/zero/schema/documents.ts
DESKTOP-RTLN3BA\$punk a64c8205fe feat: implement ensure_publication for zero_publication management
- Added the ensure_publication function to create and verify the zero_publication if it is missing, ensuring idempotency during database initialization.
- Integrated ensure_publication into the create_db_and_tables function to prevent zero-cache crash loops on startup.
- Introduced a self-check script to validate the ensure_publication functionality on a create_all-bootstrapped database.
- Updated various components to reflect the transition from search space to workspace, including adjustments in imports and routing paths.
2026-07-05 23:17:13 -07:00

31 lines
1.1 KiB
TypeScript

import { boolean, json, number, string, table } from "@rocicorp/zero";
export const documentTable = table("documents")
.columns({
id: number(),
title: string(),
documentType: string().from("document_type"),
searchSpaceId: number().from("workspace_id"),
folderId: number().optional().from("folder_id"),
createdById: string().optional().from("created_by_id"),
status: json(),
createdAt: number().from("created_at"),
})
.primaryKey("id");
export const searchSourceConnectorTable = table("search_source_connectors")
.columns({
id: number(),
name: string(),
connectorType: string().from("connector_type"),
isIndexable: boolean().from("is_indexable"),
lastIndexedAt: number().optional().from("last_indexed_at"),
config: json(),
periodicIndexingEnabled: boolean().from("periodic_indexing_enabled"),
indexingFrequencyMinutes: number().optional().from("indexing_frequency_minutes"),
nextScheduledAt: number().optional().from("next_scheduled_at"),
searchSpaceId: number().from("workspace_id"),
userId: string().from("user_id"),
createdAt: number().from("created_at"),
})
.primaryKey("id");