diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-01 10:00:36 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-01 10:00:36 +0900 |
| commit | 5fe9f2baee927a25d409dd1cb446b41d93345565 (patch) | |
| tree | 57f0909260cf7734ad0e9001219db346e03b8f0d /src/server/api/common | |
| parent | Hide suspended users (#4075) (diff) | |
| download | sharkey-5fe9f2baee927a25d409dd1cb446b41d93345565.tar.gz sharkey-5fe9f2baee927a25d409dd1cb446b41d93345565.tar.bz2 sharkey-5fe9f2baee927a25d409dd1cb446b41d93345565.zip | |
Improve performance
Diffstat (limited to 'src/server/api/common')
| -rw-r--r-- | src/server/api/common/get-hide-users.ts | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/server/api/common/get-hide-users.ts b/src/server/api/common/get-hide-users.ts index b3ddcec1f5..968b357abc 100644 --- a/src/server/api/common/get-hide-users.ts +++ b/src/server/api/common/get-hide-users.ts @@ -7,14 +7,19 @@ export async function getHideUserIds(me: IUser) { return me ? await getHideUserIdsById(me._id) : []; } -export async function getHideUserIdsById(meId: mongo.ObjectID) { - const suspended = (await User.find({ - isSuspended: true - })).map(user => user._id); +export async function getHideUserIdsById(meId?: mongo.ObjectID) { + const [suspended, muted] = await Promise.all([ + User.find({ + isSuspended: true + }, { + fields: { + _id: true + } + }), + meId ? Mute.find({ + muterId: meId + }) : Promise.resolve([]) + ]); - const muted = meId ? (await Mute.find({ - muterId: meId - })).map(mute => mute.muteeId) : []; - - return unique(suspended.concat(muted)); + return unique(suspended.map(user => user._id).concat(muted.map(mute => mute.muteeId))); } |