summaryrefslogtreecommitdiff
path: root/src/server/api/common/get-hide-users.ts
diff options
context:
space:
mode:
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));
+}