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