import { NextResponse } from "next/server"; import { getMaestroStudents } from "@/lib/maestros"; import { ApiError } from "@/lib/errors"; import { withApiHandler } from "@/lib/api-handler"; const CTX = "maestros/[id]/students"; export const GET = withApiHandler<{ id: string }>( CTX, async (request, { params }) => { const { id } = await params; const maestroID = Number(id); if (!Number.isInteger(maestroID) || maestroID <= 0) { throw new ApiError("Invalid maestro id", 400); } const url = new URL(request.url); const result = await getMaestroStudents(maestroID, url.searchParams); if (!result) { throw new ApiError("Not found", 404); } return NextResponse.json(result); } );