From dfabd0a3fe083182829620ff93e1364c8947a240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 5 Aug 2020 14:24:00 -0400 Subject: [PATCH] feat: remove administrator property from public routes --- public/openapi/components/schemas/UserObject.yaml | 2 -- public/openapi/read.yaml | 2 -- src/controllers/admin/users.js | 11 ++++++++++- src/user/index.js | 10 +--------- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/public/openapi/components/schemas/UserObject.yaml b/public/openapi/components/schemas/UserObject.yaml index 1509a8ef5462..6c6910a23973 100644 --- a/public/openapi/components/schemas/UserObject.yaml +++ b/public/openapi/components/schemas/UserObject.yaml @@ -533,8 +533,6 @@ UserObjectSlim: type: string description: An ISO 8601 formatted date string representing the moment a ban will be lifted, or the words "Not Banned" example: Not Banned - administrator: - type: boolean UserObjectACP: type: object properties: diff --git a/public/openapi/read.yaml b/public/openapi/read.yaml index e9e801da7c91..4ffac643f19e 100644 --- a/public/openapi/read.yaml +++ b/public/openapi/read.yaml @@ -3009,8 +3009,6 @@ paths: type: number banned_until_readable: type: string - administrator: - type: boolean userCount: type: number title: diff --git a/src/controllers/admin/users.js b/src/controllers/admin/users.js index d58bc9077e17..106775453f01 100644 --- a/src/controllers/admin/users.js +++ b/src/controllers/admin/users.js @@ -175,7 +175,16 @@ async function getUsers(set, section, min, max, req, res) { } else { uids = await user.getUidsFromSet(set, start, stop); } - return await user.getUsersWithFields(uids, userFields, req.uid); + const [isAdmin, userData] = await Promise.all([ + user.isAdministrator(uids), + user.getUsersWithFields(uids, userFields, req.uid), + ]); + userData.forEach((user, index) => { + if (user) { + user.administrator = isAdmin[index]; + } + }); + return userData; } const [count, users] = await Promise.all([ diff --git a/src/user/index.js b/src/user/index.js index 7c0d8f822639..81366a9b11c7 100644 --- a/src/user/index.js +++ b/src/user/index.js @@ -66,15 +66,7 @@ User.getUsersFromSet = async function (set, uid, start, stop) { User.getUsersWithFields = async function (uids, fields, uid) { let results = await plugins.fireHook('filter:users.addFields', { fields: fields }); results.fields = _.uniq(results.fields); - const [userData, isAdmin] = await Promise.all([ - User.getUsersFields(uids, results.fields), - User.isAdministrator(uids), - ]); - userData.forEach(function (user, index) { - if (user) { - user.administrator = isAdmin[index]; - } - }); + const userData = await User.getUsersFields(uids, results.fields); results = await plugins.fireHook('filter:userlist.get', { users: userData, uid: uid }); return results.users; };