- Remove is_official gate: profile editor and follow manager now shown for all users - Add /audit-log page: paginated view of all admin actions - Add /waitlist page: approve/reject/delete waitlist entries with notes - Add Feed Impression Reset button on user detail (clears user's seen-posts history) - Add feed cooling/diversity thresholds to algorithm_config defaults (configurable via /algorithm) - Go: AdminListWaitlist, AdminUpdateWaitlist, AdminDeleteWaitlist handlers - Go: AdminResetFeedImpressions handler (DELETE /admin/users/:id/feed-impressions) - Go: Register all new routes in main.go - Sidebar: add Waitlist (Users & Content) and Audit Log (Platform) links - DB: add 20260218_waitlist.sql migration - api.ts: listWaitlist, updateWaitlist, deleteWaitlist, resetFeedImpressions methods Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
656 B
SQL
17 lines
656 B
SQL
-- Waitlist table for managing early-access signups
|
|
|
|
CREATE TABLE IF NOT EXISTS waitlist (
|
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
email text NOT NULL UNIQUE,
|
|
name text,
|
|
referral_code text,
|
|
invited_by text, -- email or user handle of referrer
|
|
status text NOT NULL DEFAULT 'pending', -- pending, approved, rejected, invited
|
|
notes text,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_waitlist_status ON waitlist(status);
|
|
CREATE INDEX IF NOT EXISTS idx_waitlist_created ON waitlist(created_at DESC);
|