web: bump to node 22, next 15, react 19, etc.
This commit is contained in:
@@ -34,15 +34,7 @@ type ResponseData = {
|
||||
total: number;
|
||||
};
|
||||
|
||||
const whitelistFilter = (obj: Record<string, any>, whitelist: string[]) =>
|
||||
Object.entries(obj)
|
||||
.filter(([key, value]) => whitelist.includes(key))
|
||||
.reduce(
|
||||
(obj: Record<string, any>, [key, value]) => ((obj[key] = value), obj),
|
||||
{}
|
||||
);
|
||||
|
||||
export async function GET(req: NextRequest, res: NextResponse<ResponseData>) {
|
||||
export async function GET(req: NextRequest) {
|
||||
const searchParams = req.nextUrl.searchParams;
|
||||
const view = searchParams.get("view");
|
||||
|
||||
@@ -80,15 +72,20 @@ export async function GET(req: NextRequest, res: NextResponse<ResponseData>) {
|
||||
: null;
|
||||
|
||||
return {
|
||||
url: `${process.env.URL}/arrangementer/${event.slug}`,
|
||||
id: event.id,
|
||||
slug: event.slug,
|
||||
title: event.title,
|
||||
subtitle: event.subtitle,
|
||||
nextOccurrence: nextOccurrence,
|
||||
url: `${process.env.URL}/arrangementer/${event.slug}`,
|
||||
futureOccurrencesCount: futureOccurrences.length,
|
||||
...whitelistFilter(event, keepKeys),
|
||||
};
|
||||
} as CompactEvent;
|
||||
});
|
||||
|
||||
return NextResponse.json(
|
||||
{ events: compactEvents, total: compactEvents.length },
|
||||
{ status: 200 }
|
||||
);
|
||||
const responseData: ResponseData = {
|
||||
events: compactEvents,
|
||||
total: compactEvents.length,
|
||||
};
|
||||
|
||||
return NextResponse.json(responseData, { status: 200 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user