diff options
Diffstat (limited to 'api/src/util/User.ts')
-rw-r--r-- | api/src/util/User.ts | 16 |
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); +} |