import { NextResponse } from "next/server"; import { queryOne, query } from "@/lib/db"; import { removeBrandingFile, saveBrandingFile } from "@/lib/branding"; import { authErrorResponse, requireRole } from "@/lib/auth/session"; import { isSameOrigin } from "@/lib/origin"; type AssetKind = "logo" | "favicon"; const ASSET_COLUMN: Record = { logo: "logo_path", favicon: "favicon_path", }; function isAssetKind(value: unknown): value is AssetKind { return value === "logo" || value === "favicon"; } // Whitelist statt "image/*": svg absichtlich ausgeschlossen. Eine SVG // mit eingebettetem