From ccecff25e79a3b337fb632bb589706700edb9308 Mon Sep 17 00:00:00 2001 From: Manuel Kasper Date: Tue, 1 Jun 2021 16:22:04 +0200 Subject: [PATCH] Allow arbitrary user settings keys, and store them all under a "settings" embedded document for clarity --- users.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/users.js b/users.js index 2b53900..f64b246 100644 --- a/users.js +++ b/users.js @@ -57,16 +57,11 @@ router.post("/me/settings", return res.status(401).send("Missing userid in SSO token").end(); } - const user = Object.assign({}, - req.body.mapServer && {mapServer: req.body.mapServer}, - req.body.altitudeUnits && {altitudeUnits: req.body.altitudeUnits}, - req.body.spotPrefs && {spotPrefs: req.body.spotPrefs}, - req.body.editAlertPrefs && {editAlertPrefs: req.body.editAlertPrefs} - ); + const newSettings = Object.fromEntries(Object.entries(req.body).map(([k, v]) => ['settings.' + k, v])); db.getDb().collection(DB_COLLECTION_USERS).updateOne( {userid: reqUserId}, - {$set: user}, + {$set: newSettings}, {upsert: true} );