summaryrefslogtreecommitdiff
path: root/src/server/api/common
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-01 10:00:36 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-01 10:00:36 +0900
commit5fe9f2baee927a25d409dd1cb446b41d93345565 (patch)
tree57f0909260cf7734ad0e9001219db346e03b8f0d /src/server/api/common
parentHide suspended users (#4075) (diff)
downloadsharkey-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.ts23
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)));
}