Letzte Supabase-Erwähnungen aus aktiver Doku/Kommentaren entfernt

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.
This commit is contained in:
2026-07-18 12:21:21 +02:00
parent 08a5ef8a2b
commit 6f78762e27
4 changed files with 8 additions and 10 deletions
+1 -1
View File
@@ -131,7 +131,7 @@ müssen neu registriert werden.
## Datenbank ## 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`, alle Zugriffsrechte werden in den Route-Handlern geprüft (`lib/auth/session.ts`,
`requireRole`). `requireRole`).
+3 -3
View File
@@ -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) -- Rollen: admin (Benutzerverwaltung, Branding) / staff (Kantine)
-- Öffentliche Speisekarte: lesbar ohne Login -- Öffentliche Speisekarte: lesbar ohne Login
-- ============================================================= -- =============================================================
@@ -27,8 +27,8 @@ create table sessions (
); );
create index sessions_user_id_idx on sessions (user_id); create index sessions_user_id_idx on sessions (user_id);
-- WebAuthn-Credentials (ersetzt Supabase's internes, für die App bisher -- WebAuthn-Credentials (Passkeys) – eigenes Schema, wird von
-- unsichtbares Passkey-Schema). -- @simplewebauthn/server geprüft (lib/auth/).
create table passkey_credentials ( create table passkey_credentials (
id uuid primary key default gen_random_uuid(), id uuid primary key default gen_random_uuid(),
user_id uuid not null references users (id) on delete cascade, user_id uuid not null references users (id) on delete cascade,
+2 -4
View File
@@ -1,9 +1,7 @@
import "server-only"; import "server-only";
// RP-Konfiguration wird direkt aus APP_URL/SITE_TITLE abgeleitet – kein // RP-Konfiguration wird direkt aus APP_URL/SITE_TITLE abgeleitet –
// externer Konfigurationsschritt mehr nötig (ersetzt das bisherige // kein externer Konfigurationsschritt oder Cloud-API-Aufruf mehr nötig.
// scripts/configure-passkeys.mjs, das die Supabase-Management-API
// aufrief).
function appUrl(): URL { function appUrl(): URL {
return new URL(process.env.APP_URL ?? "http://localhost:3000"); return new URL(process.env.APP_URL ?? "http://localhost:3000");
} }
+2 -2
View File
@@ -2,8 +2,8 @@ import "server-only";
import { mkdir, readFile, unlink, writeFile } from "node:fs/promises"; import { mkdir, readFile, unlink, writeFile } from "node:fs/promises";
import path from "node:path"; import path from "node:path";
// Ersetzt den früheren Supabase-Storage-Bucket "branding" durch ein // Logo/Favicon liegen als Dateien in einem lokalen Verzeichnis
// lokales Verzeichnis (Docker-Volume in Produktion, s. docker-compose.yml). // (Docker-Volume in Produktion, s. docker-compose.yml).
export function brandingDir(): string { export function brandingDir(): string {
// turbopackIgnore: process.cwd() ist hier dynamisch, aber der Pfad // turbopackIgnore: process.cwd() ist hier dynamisch, aber der Pfad
// bleibt statisch unter "data/branding" – ohne den Kommentar versucht // bleibt statisch unter "data/branding" – ohne den Kommentar versucht