MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / writeDatabaseSchema

Function writeDatabaseSchema

apps/desktop/src/main/databases.ts:235–246  ·  view source on GitHub ↗
(
  root: string,
  rel: string,
  sidecar: DatabaseSidecar,
  rows: DbRow[]
)

Source from the content-addressed store, hash-verified

233 * re-reading the on-disk CSV, whose header may no longer match a renamed field.
234 */
235export async function writeDatabaseSchema(
236 root: string,
237 rel: string,
238 sidecar: DatabaseSidecar,
239 rows: DbRow[]
240): Promise<DatabaseDoc> {
241 const normalized = normalizeSidecar(sidecar)
242 if (!normalized) throw new Error(`Invalid database schema: ${rel}`)
243 await persistSidecar(root, rel, normalized)
244 await writeFileAtomic(databaseDataPath(root, rel), serializeRows(rows, normalized.fields))
245 return hydrate(rel, normalized, rows.map((r) => ({ ...r })))
246}
247
248/**
249 * Create a new empty database (`id` + `Name` fields) under `folder`/`subpath`

Callers 1

registerIpcFunction · 0.90

Calls 6

writeFileAtomicFunction · 0.90
databaseDataPathFunction · 0.90
serializeRowsFunction · 0.90
normalizeSidecarFunction · 0.85
persistSidecarFunction · 0.85
hydrateFunction · 0.70

Tested by

no test coverage detected