Files
dogfather-universe/cloudflare-worker/migrations/0006_testimonials.sql
T
DogFatherGitandClaude Opus 5 399260b805 "Stimmen" verwandelt: Fans reichen selbst Testimonials ein
Nutzer-Wunsch 20.08.2026: "eine richtig geile kachel ... wo die leute mit
namen und tiktok namen mir eine nachricht schreiben können die ich in die
verwaltung kriege, und dann kann ich die ausgewählten über die
verwaltungsseite auf die website hinzufügen ... das wird mega persoenlich
zu den fans, bitte wirklich krass geil speziell."

- Neue, augenschonend gestaltete Einreich-Kachel auf stimmen.html: Name,
  TikTok-Name (optional), Nachricht -- landet NIE automatisch oeffentlich,
  sondern immer erst als Entwurf in der Verwaltung.
  Warmer Babyblau/Rosé-Farbverlauf, wandernder Lichtschein, pulsierendes
  Herz -- ersetzt die 3 ewigen "Hier steht bald..."-Platzhalterkarten.
- Neue Verwaltungs-Sektion "💬 Stimmen verwalten": Warteschlange (offene
  zuerst), Freigeben/Ablehnen/Löschen pro Eintrag.
- Freigegebene Stimmen erscheinen automatisch in einer neuen, spezielleren
  Zitat-Kartenoptik (großes Anführungszeichen, Name + TikTok-Chip) --
  Abschnitt bleibt komplett unsichtbar, solange keine einzige freigegeben
  wurde.
- Backend: neue Tabelle `testimonials` (Migration 0006), routes/
  testimonials.js (oeffentliches Einreichen + Lesen freigegebener,
  admin-Warteschlange + Status/Loeschen mit neuer TESTIMONIALS_MANAGE-
  Berechtigung). 18 automatisierte Tests gegen eine Fake-DB bestanden.
- Alles per Playwright visuell durchgespielt: leerer Zustand, Einreichen
  -> Erfolgsmeldung, freigegebene Stimmen-Anzeige, Verwaltungs-Warteschlange
  mit allen Aktionen.

Backend-Teil (server-internal/, cloudflare-worker/migrations/) noch ohne
Deploy-Zugriff -- Dogi muss ihn manuell auf dogiintern ausrollen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-08-20 23:37:31 +02:00

24 lines
1.1 KiB
SQL

-- =====================================================================
-- "Stimmen" / Testimonials (20.08.2026) — Fans können auf stimmen.html
-- selbst eine Nachricht mit Name + TikTok-Namen einreichen. Landet erst
-- als Entwurf in der Verwaltung ("eingereicht") -- öffentlich sichtbar
-- wird ein Eintrag NUR, wenn Dogi/VanVan ihn dort ausdrücklich freigeben
-- (Nutzer-Wunsch: "die ausgewählten über die verwaltungsseite auf die
-- website hinzufügen"). Eigene Tabelle statt app_settings, weil dies eine
-- WACHSENDE Liste ist (beliebig viele Einreichungen), keine feste Anzahl
-- Slots wie "Event des Jahres".
-- =====================================================================
CREATE TABLE IF NOT EXISTS testimonials (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
tiktok_username TEXT,
nachricht TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'eingereicht', -- eingereicht | freigegeben | abgelehnt
created_at TEXT NOT NULL,
entschieden_am TEXT,
entschieden_von TEXT
);
CREATE INDEX IF NOT EXISTS idx_testimonials_status ON testimonials (status, created_at);