chrysopedia/alembic/versions/007_drop_review_columns.py
jlightner 52e7e3bbc2 feat: remove review workflow — unused gate that blocked nothing
773 key moments sat at 'pending' with 0 approved/edited/rejected.
review_status was never checked by any public-facing query — all content
was always visible regardless of review state.

Removed:
- backend/routers/review.py (10 endpoints)
- backend/tests/test_review.py
- frontend ReviewQueue, MomentDetail pages
- frontend client.ts (review-only API client)
- frontend ModeToggle, StatusBadge components
- Review link from AdminDropdown, Moments link from pipeline rows
- ReviewStatus, PageReviewStatus enums from models
- review_mode config flag
- review_status columns (migration 007)
- ~80 lines of mode-toggle CSS

Pipeline now always sets processing_status to 'published'.
Migration 007 drops columns, enums, and migrates 'reviewed' → 'published'.
2026-03-31 02:34:12 +00:00

30 lines
1.2 KiB
Python

"""Drop review_status columns and enums.
Revision ID: 007_drop_review_columns
Revises: 006_debug_columns
"""
from alembic import op
revision = "007_drop_review_columns"
down_revision = "006_debug_columns"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.drop_column("key_moments", "review_status")
op.drop_column("technique_pages", "review_status")
op.execute("DROP TYPE IF EXISTS review_status")
op.execute("DROP TYPE IF EXISTS page_review_status")
# Collapse 'reviewed' into 'published' for any existing rows
op.execute(
"UPDATE source_videos SET processing_status = 'published' "
"WHERE processing_status = 'reviewed'"
)
def downgrade() -> None:
op.execute("CREATE TYPE review_status AS ENUM ('pending', 'approved', 'edited', 'rejected')")
op.execute("CREATE TYPE page_review_status AS ENUM ('draft', 'reviewed', 'published')")
op.add_column("key_moments", op.Column("review_status", op.Enum("pending", "approved", "edited", "rejected", name="review_status"), server_default="pending", nullable=False))
op.add_column("technique_pages", op.Column("review_status", op.Enum("draft", "reviewed", "published", name="page_review_status"), server_default="draft", nullable=False))