From daa816ac61c4c4994852d32227888377dda80d22 Mon Sep 17 00:00:00 2001 From: Morten Olsen Date: Mon, 3 Nov 2025 20:04:35 +0100 Subject: [PATCH] fix: postgres object compat --- .../src/database/migrations/migrations.001-init.ts | 8 ++++---- packages/server/src/services/documents/documents.ts | 12 ++++++------ pnpm-workspace.yaml | 1 + 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/server/src/database/migrations/migrations.001-init.ts b/packages/server/src/database/migrations/migrations.001-init.ts index 8b32321..d8a223e 100644 --- a/packages/server/src/database/migrations/migrations.001-init.ts +++ b/packages/server/src/database/migrations/migrations.001-init.ts @@ -27,10 +27,10 @@ type DocumentRow = { id: string; type: string; source: string | null; - data: string; - createdAt: string; - updatedAt: string; - deletedAt: string | null; + data: string | unknown; + createdAt: string | Date; + updatedAt: string | Date; + deletedAt: string | Date | null; }; type Tables = { diff --git a/packages/server/src/services/documents/documents.ts b/packages/server/src/services/documents/documents.ts index b38975c..a7a5aca 100644 --- a/packages/server/src/services/documents/documents.ts +++ b/packages/server/src/services/documents/documents.ts @@ -49,15 +49,15 @@ class DocumentsService { action: 'inserted', }; } - const currentData = JSON.parse(current.data); + const currentData = typeof current.data === 'string' ? JSON.parse(current.data) : current.data; if (equal(currentData, document.data)) { return { ...current, data: currentData, id, - createdAt: current.createdAt, - updatedAt: current.updatedAt, - deletedAt: current.deletedAt || null, + createdAt: new Date(current.createdAt).toISOString(), + updatedAt: new Date(current.updatedAt).toISOString(), + deletedAt: current.deletedAt ? new Date(current.deletedAt).toISOString() : null, action: 'skipped', }; } @@ -72,9 +72,9 @@ class DocumentsService { ...current, id, data: document.data, - createdAt: current.createdAt, + createdAt: new Date(current.createdAt).toISOString(), updatedAt: now.toISOString(), - deletedAt: current.deletedAt || null, + deletedAt: current.deletedAt ? new Date(current.deletedAt).toISOString() : null, action: 'updated', }; }); diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bc8656d..fcde26c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,3 +3,4 @@ packages: - ./apps/* onlyBuiltDependencies: - better-sqlite3 + - esbuild