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

39 lines
1019 B
TypeScript

// app/api/user-groups/[id]/route.ts
import { NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
type RouteParams = { id: string };
type RouteContext = { params: Promise<RouteParams> };
export async function DELETE(_req: Request, ctx: RouteContext) {
const { id } = await ctx.params;
if (!id || id === 'ungrouped') {
return NextResponse.json(
{ error: 'Ungültige Gruppen-ID.' },
{ status: 400 },
);
}
try {
// 1) Alle User aus dieser Gruppe in "Ohne Gruppe" schieben (groupId = null)
await prisma.user.updateMany({
where: { groupId: id },
data: { groupId: null },
});
// 2) Gruppe selbst löschen
await prisma.userGroup.delete({
where: { id },
});
return NextResponse.json({ ok: true }, { status: 200 });
} catch (err) {
console.error('[DELETE /api/user-groups/[id]]', err);
return NextResponse.json(
{ error: 'Interner Serverfehler beim Löschen der Gruppe.' },
{ status: 500 },
);
}
}