Benutzer hinterlegen ihre öffentlichen Schlüssel einmal, Admins zusätzlich Team-Schlüssel. Sie kommen in jeden Gast: im Assistenten vorausgewählt und abwählbar, per API und CLI automatisch, wenn die Anfrage keine nennt. Die Schlüssel kommen über die Schnittstelle SchluesselQuelle – dort lässt sich später eine externe Verwaltung anbinden. Vorgezogen aus #015 auf die Frage, ob Schlüssel ins Template gehören: nein, in die Verwaltung. Refs #015 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
602 B
TypeScript
14 lines
602 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { aufruferAdresse } from "@/lib/adressen";
|
|
import { api } from "@/server/api";
|
|
import { rechtErforderlich } from "@/server/auth/zugang";
|
|
import { schluesselLoeschen } from "@/server/services/schluessel";
|
|
|
|
type Kontext = { params: Promise<{ id: string }> };
|
|
|
|
export const DELETE = api(async (anfrage: Request, { params }: Kontext) => {
|
|
const aufrufer = await rechtErforderlich(anfrage, "eigeneZugaenge");
|
|
await schluesselLoeschen((await params).id, aufrufer, aufruferAdresse(anfrage.headers));
|
|
return new NextResponse(null, { status: 204 });
|
|
});
|