Files
erp-system/app/api/customers/[id]/contacts/route.ts
T
2026-05-20 18:58:23 +00:00

42 lines
1.3 KiB
TypeScript

// /opt/erp-system/app/api/customers/[id]/contacts/route.ts
import { NextResponse } from 'next/server';
import prisma from '../../../../../lib/prisma';
export async function POST(request: Request, context: { params: Promise<{ id: string }> }) {
try {
const params = await context.params;
const body = await request.json();
const contact = await prisma.customerContact.create({
data: {
firstName: body.firstName,
lastName: body.lastName,
email: body.email,
phone: body.phone || null,
customerId: parseInt(params.id)
}
});
return NextResponse.json(contact, { status: 201 });
} catch (error) {
return NextResponse.json({ error: 'Fehler beim Erstellen' }, { status: 500 });
}
}
export async function DELETE(request: Request, context: { params: Promise<{ id: string }> }) {
try {
const { searchParams } = new URL(request.url);
const contactId = searchParams.get('contactId');
if (!contactId) return NextResponse.json({ error: 'Kontakt-ID fehlt' }, { status: 400 });
await prisma.customerContact.delete({
where: { id: parseInt(contactId) }
});
return NextResponse.json({ success: true });
} catch (error) {
return NextResponse.json({ error: 'Löschen fehlgeschlagen' }, { status: 500 });
}
}