Event API endpoint safe parsing and better error handling/responses

This commit is contained in:
Matt Aitken
2023-07-26 18:03:32 +01:00
parent b2f3ade7c7
commit 6c96b331dd
@@ -25,7 +25,16 @@ export async function loader({ request, params }: LoaderArgs) {
);
}
const { eventId } = ParamsSchema.parse(params);
const parsed = ParamsSchema.safeParse(params);
if (!parsed.success) {
return apiCors(
request,
json({ error: "Invalid or Missing eventId" }, { status: 400 })
);
}
const { eventId } = parsed.data;
const event = await prisma.eventRecord.findUnique({
select: {
@@ -47,5 +56,12 @@ export async function loader({ request, params }: LoaderArgs) {
},
});
if (!event) {
return apiCors(
request,
json({ error: "Event not found" }, { status: 404 })
);
}
return apiCors(request, json(event));
}