diff options
Diffstat (limited to 'src/server/api/common')
| -rw-r--r-- | src/server/api/common/get-hide-users.ts | 20 |
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)); +} |