summary refs log tree commit diff
path: root/api/src/util/User.ts
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/util/User.ts')
-rw-r--r--api/src/util/User.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/api/src/util/User.ts b/api/src/util/User.ts
new file mode 100644

index 00000000..107fc759 --- /dev/null +++ b/api/src/util/User.ts
@@ -0,0 +1,16 @@ +import { toObject, UserModel, PublicUserProjection } from "@fosscord/server-util"; +import { HTTPError } from "lambert-server"; + +export { PublicUserProjection }; + +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); +}