From 1561681171fc2d318ce29cc818ce2268e68b2c6d Mon Sep 17 00:00:00 2001 From: bytedream Date: Mon, 4 Dec 2023 21:05:01 +0100 Subject: [PATCH] add api route to get user by name (#2) --- src/routes/api/user/+server.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/routes/api/user/+server.ts diff --git a/src/routes/api/user/+server.ts b/src/routes/api/user/+server.ts new file mode 100644 index 0000000..8ae2040 --- /dev/null +++ b/src/routes/api/user/+server.ts @@ -0,0 +1,19 @@ +import type { RequestHandler } from '@sveltejs/kit'; +import { User } from '$lib/server/database'; +import { env } from '$env/dynamic/private'; + +export const GET = (async ({ url }) => { + if (env.REPORT_SECRET && url.searchParams.get('secret') !== env.REPORT_SECRET) + return new Response(null, { status: 401 }); + + const username = url.searchParams.get('username'); + if (username == null) return new Response(null, { status: 400 }); + + const user = await User.findOne({ where: { username: username } }); + if (user == null) return new Response(null, { status: 400 }); + + return new Response( + JSON.stringify({ uuid: user.uuid, firstname: user.firstname, lastname: user.lastname }), + { status: 200 } + ); +}) satisfies RequestHandler;