import { NextRequest, NextResponse } from 'next/server' import { db } from '@/lib/db' // GET /api/fournisseurs - Get all suppliers export async function GET(request: NextRequest) { try { const searchParams = request.nextUrl.searchParams const actif = searchParams.get('actif') const where: any = {} if (actif !== null && actif !== 'all') { where.actif = actif === 'true' } const fournisseurs = await db.fournisseur.findMany({ where, orderBy: { nom: 'asc', }, include: { _count: { select: { produits: true, facturesAchat: true, }, }, }, }) return NextResponse.json(fournisseurs) } catch (error) { console.error('Error fetching fournisseurs:', error) return NextResponse.json( { error: 'Failed to fetch suppliers' }, { status: 500 } ) } } // POST /api/fournisseurs - Create a new supplier export async function POST(request: NextRequest) { try { const body = await request.json() // Validate required fields if (!body.nom) { return NextResponse.json( { error: 'Missing required field: nom' }, { status: 400 } ) } const fournisseur = await db.fournisseur.create({ data: { nom: body.nom, contact: body.contact || null, email: body.email || null, telephone: body.telephone || null, adresse: body.adresse || null, ville: body.ville || null, codePostal: body.codePostal || null, notes: body.notes || null, actif: body.actif !== undefined ? body.actif : true, }, }) return NextResponse.json(fournisseur) } catch (error) { console.error('Error creating fournisseur:', error) return NextResponse.json( { error: 'Failed to create supplier' }, { status: 500 } ) } }