From 82518ea905d29355aa633050b24e6e0010ba4768 Mon Sep 17 00:00:00 2001 From: Joris Bertomeu Date: Tue, 19 Nov 2024 15:00:42 +0100 Subject: [PATCH] Fix issue with fresh instance --- api/src/controllers/AdminController.js | 5 ++++- api/src/routes/admin.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/api/src/controllers/AdminController.js b/api/src/controllers/AdminController.js index b9da2a7..2a1b0e2 100644 --- a/api/src/controllers/AdminController.js +++ b/api/src/controllers/AdminController.js @@ -14,7 +14,10 @@ export class AdminController { async updateSettings(req, res, next) { try { - await this.db.update('settings', req.params.id, req.body); + if (req.params.hasOwnProperty('id')) + await this.db.update('settings', req.params.id, req.body); + else + await this.db.add('settings', req.body); res.json(req.body); } catch(e) { next(e); diff --git a/api/src/routes/admin.js b/api/src/routes/admin.js index 4e20403..1229bdd 100644 --- a/api/src/routes/admin.js +++ b/api/src/routes/admin.js @@ -4,7 +4,7 @@ export const createAdminRouter = (adminController) => { const router = express.Router(); router.get('/settings', adminController.getSettings.bind(adminController)); - router.post('/settings/:id', adminController.updateSettings.bind(adminController)); + router.post(['/settings/:id', '/settings'], adminController.updateSettings.bind(adminController)); router.get('/widgets/:settingsId', adminController.getWidgets.bind(adminController)); router.post('/widgets/:settingsId', adminController.updateWidgets.bind(adminController));