Files
proxdeploy/src/app/api/v1/benutzer/route.ts
T
florian.wildeandClaude Opus 5.5 99357d59bd feat(benutzer): Benutzerverwaltung, Passwort ändern, Audit-Log-Ansicht
Admins verwalten Benutzer (anlegen, Rolle, sperren, Passwort setzen); jeder ändert sein Passwort; das Audit-Log ist filterbar einsehbar. Sperre und Passwortwechsel beenden ältere Sitzungen über Benutzer.sitzungenAb. Der letzte Admin und das eigene Konto sind geschützt.

Closes #015

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:49:47 +02:00

20 lines
790 B
TypeScript

import { NextResponse } from "next/server";
import { aufruferAdresse } from "@/lib/adressen";
import { api, jsonLesen } from "@/server/api";
import { rechtErforderlich } from "@/server/auth/zugang";
import { benutzerAnlegen, benutzerListe } from "@/server/services/benutzer";
export const GET = api(async (anfrage: Request) => {
await rechtErforderlich(anfrage, "benutzerVerwalten");
return NextResponse.json(await benutzerListe());
});
/** `{ benutzername, anzeigename, email?, rolle, passwort }` */
export const POST = api(async (anfrage: Request) => {
const aufrufer = await rechtErforderlich(anfrage, "benutzerVerwalten");
return NextResponse.json(
await benutzerAnlegen(await jsonLesen(anfrage), aufrufer, aufruferAdresse(anfrage.headers)),
{ status: 201 },
);
});