Newer
Older
percord / src / util / User.ts
@Flam3rboy Flam3rboy on 7 Apr 2021 525 bytes :bug: fix lean not working with virtuals
import { toObject, UserModel } from "fosscord-server-util";
import { HTTPError } from "lambert-server";

export const PublicUserProjection = {
	username: true,
	discriminator: true,
	id: true,
	public_flags: true,
	avatar: true,
};

export async function getPublicUser(user_id: string, additional_fields?: any) {
	const user = await UserModel.findOne(
		{ id: user_id },
		{
			...PublicUserProjection,
			...additional_fields,
		}
	).exec();
	if (!user) throw new HTTPError("User not found", 404);
	return toObject(user);
}