import { NextResponse } from "next/server";
import { listCanMetiers } from "@/services/reference-lookups.service";
import { paginationQuerySchema } from "@/validators/pagination";

export async function GET(request: Request) {
    const url = new URL(request.url);
    const parsed = paginationQuerySchema.safeParse({
        limit: url.searchParams.get("limit") ?? undefined,
        offset: url.searchParams.get("offset") ?? undefined,
    });

    if (!parsed.success) {
        return NextResponse.json(
            { message: "Invalid query parameters", issues: parsed.error.flatten() },
            { status: 400 },
        );
    }

    const items = await listCanMetiers(parsed.data.limit, parsed.data.offset);

    return NextResponse.json({
        message: "Can metiers retrieved successfully",
        items,
        count: items.length,
    });
}
