import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { verificarSesion } from "@/lib/auth-admin"; import { whereTrabajosDeJefe } from "@/lib/servicios"; // Trabajos que ofrece un jefe mecánico: los suyos + los globales del taller. // El flujo del cliente es jefe → trabajo, así que el jefe es obligatorio. export async function GET(req: NextRequest) { const sesion = await verificarSesion("cliente_session", "cliente"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const jefeMecanicoId = req.nextUrl.searchParams.get("jefeMecanicoId"); if (!jefeMecanicoId) return NextResponse.json({ error: "jefeMecanicoId requerido" }, { status: 400 }); // Un jefe dado de baja no debe exponer sus trabajos (ni dejar arrancar una reserva). const jefe = await prisma.jefeMecanico.findUnique({ where: { id: jefeMecanicoId }, select: { activo: true }, }); if (!jefe || !jefe.activo) return NextResponse.json({ error: "Jefe mecánico no disponible" }, { status: 404 }); const servicios = await prisma.tipoServicio.findMany({ where: whereTrabajosDeJefe(jefeMecanicoId), orderBy: { nombre: "asc" }, }); return NextResponse.json(servicios); }