import { NextRequest, NextResponse } from 'next/server'; import { prisma } from '@/lib/prisma'; export async function GET( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id: idParam } = await params; const id = parseInt(idParam); const project = await prisma.project.findUnique({ where: { id } }); if (!project) { return NextResponse.json( { error: 'Project not found' }, { status: 404 } ); } return NextResponse.json(project); } catch (error) { console.error('Error fetching project:', error); return NextResponse.json( { error: 'Failed to fetch project' }, { status: 500 } ); } } export async function PUT( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id: idParam } = await params; const id = parseInt(idParam); const data = await request.json(); const project = await prisma.project.update({ where: { id }, data: { ...data, updatedAt: new Date() } }); return NextResponse.json(project); } catch (error) { console.error('Error updating project:', error); return NextResponse.json( { error: 'Failed to update project' }, { status: 500 } ); } } export async function DELETE( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id: idParam } = await params; const id = parseInt(idParam); await prisma.project.delete({ where: { id } }); return NextResponse.json({ success: true }); } catch (error) { console.error('Error deleting project:', error); return NextResponse.json( { error: 'Failed to delete project' }, { status: 500 } ); } }