2025-11-24 08:59:14 +01:00

42 lines
1010 B
TypeScript

// app/api/user-groups/route.ts
import { NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
export async function POST(req: Request) {
try {
const { name } = await req.json();
if (!name || typeof name !== 'string') {
return NextResponse.json(
{ error: 'Gruppenname ist erforderlich.' },
{ status: 400 },
);
}
const trimmed = name.trim();
if (!trimmed) {
return NextResponse.json(
{ error: 'Gruppenname darf nicht leer sein.' },
{ status: 400 },
);
}
const group = await prisma.userGroup.upsert({
where: { name: trimmed },
update: {},
create: { name: trimmed },
});
return NextResponse.json(
{ id: group.id, name: group.name },
{ status: 200 },
);
} catch (err) {
console.error('[POST /api/user-groups]', err);
return NextResponse.json(
{ error: 'Interner Serverfehler beim Anlegen der User-Gruppe.' },
{ status: 500 },
);
}
}