Files
holiday-property-booking/src/app/api/booking/search/route.ts

24 lines
903 B
TypeScript

import { NextResponse } from 'next/server';
import { searchBookings } from '@/lib/booking';
function parseNumber(value: string | null, fallback: number) {
if (value === null || value === '') return fallback;
const parsed = Number(value);
return Number.isFinite(parsed) ? parsed : fallback;
}
export function GET(request: Request) {
const url = new URL(request.url);
const result = searchBookings({
arrivalDate: url.searchParams.get('arrivalDate') ?? undefined,
departureDate: url.searchParams.get('departureDate') ?? undefined,
adults: parseNumber(url.searchParams.get('adults'), 2),
children: parseNumber(url.searchParams.get('children'), 0),
pets: parseNumber(url.searchParams.get('pets'), 0),
location: url.searchParams.get('location') ?? undefined,
propertySlug: url.searchParams.get('propertySlug') ?? undefined,
});
return NextResponse.json(result);
}