Event API endpoint safe parsing and better error handling/responses
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user