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);
+}
|