From 8621338c489cbd5194da6ac22d1fe1bd9d730cb0 Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Tue, 16 Jun 2026 01:23:54 +0200 Subject: [PATCH] fix(settings): don't insert non-existent created_at into app_settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit app_settings has no created_at column (src/database/db.js defines only setting_key/value/type + updated_at), so inserting one threw — which broke saving any FIRST-TIME setting key. Existing keys took the UPDATE path and worked, hiding the bug; it surfaced on the new VAT-registration toggle + reclaim-countries keys ("Failed to save accounting settings"). Also fixes the same latent failure on the customer-surface settings route. --- backend/src/routes/adminSettings.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/src/routes/adminSettings.js b/backend/src/routes/adminSettings.js index 43670c08..350d5dc7 100644 --- a/backend/src/routes/adminSettings.js +++ b/backend/src/routes/adminSettings.js @@ -219,7 +219,10 @@ router.put('/customer-surface', adminAuth, requirePermission('settings.edit'), a updated_at: new Date(), }); } else { - await db('app_settings').insert({ ...u, created_at: new Date(), updated_at: new Date() }); + // app_settings has no created_at column (see src/database/db.js: only + // setting_key/value/type + updated_at). Inserting created_at errors — + // which broke first-time keys like the VAT-registration toggle. + await db('app_settings').insert({ ...u, updated_at: new Date() }); } } @@ -285,7 +288,10 @@ router.put('/accounting', adminAuth, requirePermission('settings.edit'), async ( setting_value: u.setting_value, setting_type: u.setting_type, updated_at: new Date(), }); } else { - await db('app_settings').insert({ ...u, created_at: new Date(), updated_at: new Date() }); + // app_settings has no created_at column (see src/database/db.js: only + // setting_key/value/type + updated_at). Inserting created_at errors — + // which broke first-time keys like the VAT-registration toggle. + await db('app_settings').insert({ ...u, updated_at: new Date() }); } } res.json({ message: 'Accounting settings updated', updated: updates.map((u) => u.setting_key) });