summaryrefslogtreecommitdiff
path: root/src/server/api/common/get-hide-users.ts
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-02-01 09:57:51 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-02-01 09:57:51 +0900
commitc7ebf6f990660b5c8b2a6bb53dbd9ef6ff058531 (patch)
tree1539c8f06508dc7cb7206420e40bf91811948d39 /src/server/api/common/get-hide-users.ts
parentFix path (diff)
downloadsharkey-c7ebf6f990660b5c8b2a6bb53dbd9ef6ff058531.tar.gz
sharkey-c7ebf6f990660b5c8b2a6bb53dbd9ef6ff058531.tar.bz2
sharkey-c7ebf6f990660b5c8b2a6bb53dbd9ef6ff058531.zip
Hide suspended users (#4075)
Diffstat (limited to 'src/server/api/common/get-hide-users.ts')
-rw-r--r--src/server/api/common/get-hide-users.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/api/common/get-hide-users.ts b/src/server/api/common/get-hide-users.ts
new file mode 100644
index 0000000000..b3ddcec1f5
--- /dev/null
+++ b/src/server/api/common/get-hide-users.ts
@@ -0,0 +1,20 @@
+import * as mongo from 'mongodb';
+import Mute from '../../../models/mute';
+import User, { IUser } from '../../../models/user';
+import { unique } from '../../../prelude/array';
+
+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);
+
+ const muted = meId ? (await Mute.find({
+ muterId: meId
+ })).map(mute => mute.muteeId) : [];
+
+ return unique(suspended.concat(muted));
+}