diff --git a/src/lib/settings.ts b/src/lib/settings.ts index 15a6069..b03ab43 100644 --- a/src/lib/settings.ts +++ b/src/lib/settings.ts @@ -44,17 +44,26 @@ export type Settings = Record; // ── Getters ─────────────────────────────────────────────────────────────────── export async function getSettings(): Promise { - const rows = await prisma.settings.findMany(); - const stored: Record = {}; - for (const row of rows) stored[row.key] = row.value; - return Object.fromEntries( - Object.entries(SETTINGS_DEFAULTS).map(([k, v]) => [k, stored[k] ?? v]) - ) as Settings; + try { + const rows = await prisma.settings.findMany(); + const stored: Record = {}; + for (const row of rows) stored[row.key] = row.value; + return Object.fromEntries( + Object.entries(SETTINGS_DEFAULTS).map(([k, v]) => [k, stored[k] ?? v]) + ) as Settings; + } catch { + // DB unavailable at build time — return defaults + return { ...SETTINGS_DEFAULTS } as Settings; + } } export async function getSetting(key: SettingsKey): Promise { - const row = await prisma.settings.findUnique({ where: { key } }); - return row?.value ?? SETTINGS_DEFAULTS[key]; + try { + const row = await prisma.settings.findUnique({ where: { key } }); + return row?.value ?? SETTINGS_DEFAULTS[key]; + } catch { + return SETTINGS_DEFAULTS[key]; + } } // ── Convenience helpers ───────────────────────────────────────────────────────