import { NextRequest, NextResponse } from 'next/server' import prisma from '@/lib/prisma' // GET /api/labels/[id] - Get a specific label export async function GET( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params const label = await prisma.label.findUnique({ where: { id } }) if (!label) { return NextResponse.json( { success: false, error: 'Label not found' }, { status: 404 } ) } return NextResponse.json({ success: true, data: label }) } catch (error) { console.error('GET /api/labels/[id] error:', error) return NextResponse.json( { success: false, error: 'Failed to fetch label' }, { status: 500 } ) } } // PUT /api/labels/[id] - Update a label export async function PUT( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params const body = await request.json() const { name, color } = body const label = await prisma.label.update({ where: { id }, data: { ...(name && { name: name.trim() }), ...(color && { color }) } }) return NextResponse.json({ success: true, data: label }) } catch (error) { console.error('PUT /api/labels/[id] error:', error) return NextResponse.json( { success: false, error: 'Failed to update label' }, { status: 500 } ) } } // DELETE /api/labels/[id] - Delete a label export async function DELETE( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params await prisma.label.delete({ where: { id } }) return NextResponse.json({ success: true, message: 'Label deleted successfully' }) } catch (error) { console.error('DELETE /api/labels/[id] error:', error) return NextResponse.json( { success: false, error: 'Failed to delete label' }, { status: 500 } ) } }