import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { verificarSesion } from "@/lib/auth-admin"; // Lista los trabajos cargados por el jefe logueado (los suyos, no los globales). export async function GET() { const sesion = await verificarSesion("jefe_session", "jefe"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const servicios = await prisma.tipoServicio.findMany({ where: { jefeMecanicoId: sesion.sub }, orderBy: { nombre: "asc" }, }); return NextResponse.json(servicios); } // Crea un trabajo propio del jefe (nombre + duración en horas). export async function POST(req: NextRequest) { const sesion = await verificarSesion("jefe_session", "jefe"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const { nombre, duracionHoras } = await req.json(); const dur = Number(duracionHoras); if (!nombre || typeof nombre !== "string" || !nombre.trim()) return NextResponse.json({ error: "El nombre del trabajo es obligatorio" }, { status: 400 }); if (!Number.isFinite(dur) || dur <= 0 || dur > 24) return NextResponse.json( { error: "La duración debe ser mayor que 0 y hasta 24 horas" }, { status: 400 } ); const servicio = await prisma.tipoServicio.create({ data: { nombre: nombre.trim(), duracionHoras: dur, jefeMecanicoId: sesion.sub }, }); return NextResponse.json(servicio, { status: 201 }); }