import { NextResponse } from "next/server"; import { aufruferAdresse } from "@/lib/adressen"; import { api, jsonLesen } from "@/server/api"; import { rechtErforderlich } from "@/server/auth/zugang"; import { schluesselAnlegen, schluesselFuer } from "@/server/services/schluessel"; /** Die eigenen und die Team-Schlüssel – das, was ohne Angabe in jeden Gast kommt. */ export const GET = api(async (anfrage: Request) => { const { benutzer } = await rechtErforderlich(anfrage, "eigeneZugaenge"); return NextResponse.json(await schluesselFuer(benutzer)); }); /** `{ name, oeffentlich, team? }` – Team-Schlüssel nur für Admins. */ export const POST = api(async (anfrage: Request) => { const aufrufer = await rechtErforderlich(anfrage, "eigeneZugaenge"); return NextResponse.json( await schluesselAnlegen(await jsonLesen(anfrage), aufrufer, aufruferAdresse(anfrage.headers)), { status: 201 }, ); });