diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2020-01-02 02:47:20 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-01-02 02:47:20 +0900 |
| commit | 541f5f13149022dc637a4afb5ff91d103e2ed7d6 (patch) | |
| tree | 82c2ff166507e48726b7bf923c494e81a18569bf /src/server/api/endpoints/users | |
| parent | Fix: リモートプロキシ時にサムネイルのContent-Typeがおかし... (diff) | |
| download | sharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.tar.gz sharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.tar.bz2 sharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.zip | |
Hide suspended user profile (#5452)
Diffstat (limited to 'src/server/api/endpoints/users')
| -rw-r--r-- | src/server/api/endpoints/users/show.ts | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts index d17dd51c0a..f49017a8c3 100644 --- a/src/server/api/endpoints/users/show.ts +++ b/src/server/api/endpoints/users/show.ts @@ -66,13 +66,18 @@ export const meta = { export default define(meta, async (ps, me) => { let user; + const isAdminOrModerator = me && (me.isAdmin || me.isModerator); + if (ps.userIds) { if (ps.userIds.length === 0) { return []; } - const users = await Users.find({ + const users = await Users.find(isAdminOrModerator ? { id: In(ps.userIds) + } : { + id: In(ps.userIds), + isSuspended: false }); return await Promise.all(users.map(u => Users.pack(u, me, { @@ -93,7 +98,7 @@ export default define(meta, async (ps, me) => { user = await Users.findOne(q); } - if (user == null) { + if (user == null || (!isAdminOrModerator && user.isSuspended)) { throw new ApiError(meta.errors.noSuchUser); } |