chahinebrini 265859467a feat(vip): Curated-Domain-Vorschläge — Suggest-Backend
User können länderspezifische Glücksspielseiten für die kuratierte
VIP-Layer-2-Liste vorschlagen — wichtig für Länder mit kurzer
Starter-Liste (z.B. TN).

- Schema: CuratedDomain (domain, country, status, suggestedByUserId);
  Migration 20260522_curated_domains
- webcontent-domains.get.ts komponiert jetzt JSON-Basis + DB-approved
  Curated-Domains pro Land
- POST /api/curated-domains/suggest legt einen suggested-Eintrag an

Admin-Approve (Endpoint + Admin-App-View) folgt als nächster Block.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 21:09:00 +02:00

21 lines
1.0 KiB
SQL

-- Migration: curated_domains
-- Länderspezifische Curated-Domain-Vorschläge für die VIP-Layer-2-Liste.
-- User schlagen Glücksspielseiten ihres Landes vor; status='approved'-Einträge
-- werden vom webcontent-domains-Endpoint zusätzlich zur statischen
-- gambling-domains.json komponiert. Approve/Reject erfolgt admin-seitig.
CREATE TABLE "rebreak"."curated_domains" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"domain" TEXT NOT NULL,
"country" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'suggested',
"suggested_by_user_id" UUID,
"created_at" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
"reviewed_at" TIMESTAMPTZ,
CONSTRAINT "curated_domains_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "curated_domains_country_domain_key" ON "rebreak"."curated_domains"("country", "domain");
CREATE INDEX "curated_domains_country_status_idx" ON "rebreak"."curated_domains"("country", "status");