summaryrefslogtreecommitdiff
path: root/src/server/api/common/get-hide-users.ts
blob: b3ddcec1f5daf8615410acdde703813d704fc700 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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));
}