🐛 fix getPublicUser

This commit is contained in:
Flam3rboy 2021-05-30 22:14:35 +02:00
parent ea58f5b535
commit 711dc1c4d4
2 changed files with 5 additions and 9 deletions

View File

@ -75,6 +75,8 @@ router.get("/", async (req, res) => {
// @ts-ignore // @ts-ignore
delete x.user_ids; delete x.user_ids;
}); });
// @ts-ignore
if (!x.author) x.author = { discriminator: "0000", username: "Deleted User", public_flags: 0n, avatar: null };
return x; return x;
}) })

View File

@ -1,20 +1,14 @@
import { toObject, UserModel } from "@fosscord/server-util"; import { toObject, UserModel, PublicUserProjection } from "@fosscord/server-util";
import { HTTPError } from "lambert-server"; import { HTTPError } from "lambert-server";
export const PublicUserProjection = { export { PublicUserProjection };
username: true,
discriminator: true,
id: true,
public_flags: true,
avatar: true,
};
export async function getPublicUser(user_id: string, additional_fields?: any) { export async function getPublicUser(user_id: string, additional_fields?: any) {
const user = await UserModel.findOne( const user = await UserModel.findOne(
{ id: user_id }, { id: user_id },
{ {
...PublicUserProjection, ...PublicUserProjection,
...additional_fields, ...additional_fields
} }
).exec(); ).exec();
if (!user) throw new HTTPError("User not found", 404); if (!user) throw new HTTPError("User not found", 404);