Add historical events list endpoint
This commit is contained in:
parent
e00d054b57
commit
f18d7ea83f
26
functions/api/events-team/events/list.ts
Normal file
26
functions/api/events-team/events/list.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { jsonError, jsonResponse } from "../../../common.js";
|
||||
|
||||
export async function onRequestGet(context: RequestContext) {
|
||||
const url = new URL(context.request.url);
|
||||
const month = parseInt(url.searchParams.get("month") ?? "");
|
||||
const year = parseInt(url.searchParams.get("year") ?? "");
|
||||
|
||||
if (isNaN(month) || isNaN(year))
|
||||
return jsonError("Invalid month or year", 400);
|
||||
|
||||
const currentYear = new Date().getUTCFullYear();
|
||||
const currentMonth = new Date().getUTCMonth() + 1;
|
||||
|
||||
if (currentYear < year || (currentYear === year && currentMonth < month))
|
||||
return jsonError("Cannot get events for a time in the future", 400);
|
||||
|
||||
const eventRecords = await context.env.D1.prepare(
|
||||
"SELECT answer, approved, created_by, day, details, month, pending, performed_at, type, year FROM events WHERE month = ? AND year = ? ORDER BY day ASC;",
|
||||
)
|
||||
.bind(month, year)
|
||||
.all();
|
||||
|
||||
if (!eventRecords.success) return jsonError("Failed to retrieve events", 400);
|
||||
|
||||
return jsonResponse(JSON.stringify(eventRecords.results));
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user