import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { verificarSesion } from "@/lib/auth-admin"; export async function GET(req: NextRequest) { const sesion = await verificarSesion("admin_session"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const { searchParams } = new URL(req.url); const autoId = searchParams.get("autoId"); if (!autoId) return NextResponse.json({ error: "autoId requerido" }, { status: 400 }); const historial = await prisma.historialServicio.findMany({ where: { autoId }, include: { admin: { select: { nombre: true } }, tipoServicio: { select: { nombre: true } } }, orderBy: { fechaRealizado: "desc" }, }); return NextResponse.json(historial); } export async function POST(req: NextRequest) { const sesion = await verificarSesion("admin_session"); if (!sesion) return NextResponse.json({ error: "No autorizado" }, { status: 401 }); const { autoId, tipoServicioId, descripcion, observaciones, fechaRealizado } = await req.json(); if (!autoId || !descripcion || !fechaRealizado) return NextResponse.json({ error: "Datos incompletos" }, { status: 400 }); const registro = await prisma.historialServicio.create({ data: { autoId, adminId: sesion.sub, tipoServicioId: tipoServicioId || null, descripcion, observaciones: observaciones || null, fechaRealizado: new Date(fechaRealizado), }, include: { admin: { select: { nombre: true } }, tipoServicio: { select: { nombre: true } } }, }); return NextResponse.json(registro, { status: 201 }); }