import { NextRequest, NextResponse } from "next/server"; import { db } from "@/lib/db"; // GET - Listar todos los proyectos export async function GET() { try { const projects = await db.project.findMany({ include: { repos: true, analyses: true, }, orderBy: { createdAt: "desc" }, }); return NextResponse.json({ success: true, projects, total: projects.length, }); } catch (error) { console.error("Error fetching projects:", error); return NextResponse.json( { success: false, error: "Error al obtener proyectos" }, { status: 500 } ); } } // POST - Crear nuevo proyecto export async function POST(request: NextRequest) { try { const body = await request.json(); const { name, description, style } = body; if (!name) { return NextResponse.json( { success: false, error: "El nombre del proyecto es requerido" }, { status: 400 } ); } const project = await db.project.create({ data: { name, description: description || null, style: style || "default", status: "active", }, }); // Crear tarea de agente await db.agentTask.create({ data: { type: "generate", status: "completed", input: `Crear proyecto: ${name}`, output: `Proyecto ${name} creado exitosamente`, completedAt: new Date(), }, }); return NextResponse.json({ success: true, project, message: `Proyecto ${name} creado exitosamente`, }); } catch (error) { console.error("Error creating project:", error); return NextResponse.json( { success: false, error: "Error al crear proyecto" }, { status: 500 } ); } }