Spaces:
Build error
Build error
| 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 } | |
| ); | |
| } | |
| } | |