From 6f78762e27467607c65a0aab5ff20857690d8e11 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Sat, 18 Jul 2026 12:21:21 +0200 Subject: [PATCH] =?UTF-8?q?Letzte=20Supabase-Erw=C3=A4hnungen=20aus=20akti?= =?UTF-8?q?ver=20Doku/Kommentaren=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README.md, db/migrations/0001_init.sql, lib/auth/webauthn-config.ts, lib/branding.ts nannten Supabase noch in Kommentaren, die erklären, was diese Stellen ersetzen. Umformuliert, ohne den alten Anbieter beim Namen zu nennen. CHANGELOG.md bleibt unverändert – die Erwähnungen dort sind historischer Bestand (u. a. der v1.5.0-Eintrag über die Supabase-Ablösung selbst) und sollen als Zeitdokument stehen bleiben. --- README.md | 2 +- db/migrations/0001_init.sql | 6 +++--- lib/auth/webauthn-config.ts | 6 ++---- lib/branding.ts | 4 ++-- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6cb6253..dd96518 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ müssen neu registriert werden. ## Datenbank -Reines PostgreSQL (kein Supabase, keine Row-Level-Security-Policies) – +Reines, selbst gehostetes PostgreSQL (keine Row-Level-Security-Policies) – alle Zugriffsrechte werden in den Route-Handlern geprüft (`lib/auth/session.ts`, `requireRole`). diff --git a/db/migrations/0001_init.sql b/db/migrations/0001_init.sql index d300752..94585f8 100644 --- a/db/migrations/0001_init.sql +++ b/db/migrations/0001_init.sql @@ -1,5 +1,5 @@ -- ============================================================= --- Canteen Menu – Initiales Schema (selbst gehostet, ohne Supabase) +-- Canteen Menu – Initiales Schema (vollständig selbst gehostet) -- Rollen: admin (Benutzerverwaltung, Branding) / staff (Kantine) -- Öffentliche Speisekarte: lesbar ohne Login -- ============================================================= @@ -27,8 +27,8 @@ create table sessions ( ); create index sessions_user_id_idx on sessions (user_id); --- WebAuthn-Credentials (ersetzt Supabase's internes, für die App bisher --- unsichtbares Passkey-Schema). +-- WebAuthn-Credentials (Passkeys) – eigenes Schema, wird von +-- @simplewebauthn/server geprüft (lib/auth/). create table passkey_credentials ( id uuid primary key default gen_random_uuid(), user_id uuid not null references users (id) on delete cascade, diff --git a/lib/auth/webauthn-config.ts b/lib/auth/webauthn-config.ts index c8fb7c7..62e68d9 100644 --- a/lib/auth/webauthn-config.ts +++ b/lib/auth/webauthn-config.ts @@ -1,9 +1,7 @@ import "server-only"; -// RP-Konfiguration wird direkt aus APP_URL/SITE_TITLE abgeleitet – kein -// externer Konfigurationsschritt mehr nötig (ersetzt das bisherige -// scripts/configure-passkeys.mjs, das die Supabase-Management-API -// aufrief). +// RP-Konfiguration wird direkt aus APP_URL/SITE_TITLE abgeleitet – +// kein externer Konfigurationsschritt oder Cloud-API-Aufruf mehr nötig. function appUrl(): URL { return new URL(process.env.APP_URL ?? "http://localhost:3000"); } diff --git a/lib/branding.ts b/lib/branding.ts index ed7bfa6..1e77a84 100644 --- a/lib/branding.ts +++ b/lib/branding.ts @@ -2,8 +2,8 @@ import "server-only"; import { mkdir, readFile, unlink, writeFile } from "node:fs/promises"; import path from "node:path"; -// Ersetzt den früheren Supabase-Storage-Bucket "branding" durch ein -// lokales Verzeichnis (Docker-Volume in Produktion, s. docker-compose.yml). +// Logo/Favicon liegen als Dateien in einem lokalen Verzeichnis +// (Docker-Volume in Produktion, s. docker-compose.yml). export function brandingDir(): string { // turbopackIgnore: process.cwd() ist hier dynamisch, aber der Pfad // bleibt statisch unter "data/branding" – ohne den Kommentar versucht