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;