import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { verificarSesion } from "@/lib/auth-admin"; import { obtenerSlotsDisponibles } from "@/lib/scheduling"; import { trabajoEsDeJefe } from "@/lib/servicios"; export async function GET(req: NextRequest) { const sesion = await verificarSesion("cliente_session"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const { searchParams } = new URL(req.url); const tipoServicioId = searchParams.get("tipoServicioId"); const jefeMecanicoId = searchParams.get("jefeMecanicoId"); if (!tipoServicioId) return NextResponse.json({ error: "tipoServicioId requerido" }, { status: 400 }); if (!jefeMecanicoId) return NextResponse.json({ error: "jefeMecanicoId requerido" }, { status: 400 }); const servicio = await prisma.tipoServicio.findUnique({ where: { id: tipoServicioId } }); if (!servicio || !servicio.activo) return NextResponse.json({ error: "Servicio no encontrado" }, { status: 404 }); if (!trabajoEsDeJefe(servicio, jefeMecanicoId)) return NextResponse.json({ error: "Ese trabajo no lo hace este mecánico" }, { status: 400 }); const slots = await obtenerSlotsDisponibles(jefeMecanicoId, servicio.duracionHoras, 60, 500); return NextResponse.json(slots); }