From 91ed6679c4a089ea9780147f29550cf9cea5c598 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Wed, 19 May 2021 13:37:59 +0100 Subject: [PATCH] Adding a get self endpoint in the global users. --- packages/server/src/api/controllers/user.js | 2 +- packages/worker/src/api/controllers/admin/users.js | 10 +++++++++- packages/worker/src/api/routes/admin/users.js | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/server/src/api/controllers/user.js b/packages/server/src/api/controllers/user.js index d549231320..e959ae6cae 100644 --- a/packages/server/src/api/controllers/user.js +++ b/packages/server/src/api/controllers/user.js @@ -48,7 +48,7 @@ exports.updateMetadata = async function (ctx) { const appId = ctx.appId const db = new CouchDB(appId) const user = ctx.request.body - // make sure to always remove global user props + // make sure to always remove some of the global user props delete user.password delete user.roles delete user.builder diff --git a/packages/worker/src/api/controllers/admin/users.js b/packages/worker/src/api/controllers/admin/users.js index 82ca0df515..edc15ca179 100644 --- a/packages/worker/src/api/controllers/admin/users.js +++ b/packages/worker/src/api/controllers/admin/users.js @@ -96,7 +96,15 @@ exports.destroy = async ctx => { } } -exports.self = async ctx => { +exports.getSelf = async ctx => { + ctx.params = { + id: ctx.user._id + } + // this will set the body + await exports.find(ctx) +} + +exports.updateSelf = async ctx => { const db = new CouchDB(GLOBAL_DB) const user = await db.get(ctx.user._id) if (ctx.request.body.password) { diff --git a/packages/worker/src/api/routes/admin/users.js b/packages/worker/src/api/routes/admin/users.js index b3581b7e19..2abaf91dd5 100644 --- a/packages/worker/src/api/routes/admin/users.js +++ b/packages/worker/src/api/routes/admin/users.js @@ -60,7 +60,8 @@ router .post("/api/admin/users", buildUserSaveValidation(), controller.save) .get("/api/admin/users", controller.fetch) .post("/api/admin/users/init", controller.adminUser) - .post("/api/admin/users/self", buildUserSaveValidation(true), controller.self) + .get("/api/admin/users/self", controller.getSelf) + .post("/api/admin/users/self", buildUserSaveValidation(true), controller.updateSelf) .delete("/api/admin/users/:id", controller.destroy) .get("/api/admin/users/:id", controller.find) .get("/api/admin/roles/:appId")