"""contact_inquiries: add topic, person_or_plot, subscribe_newsletter columns

Revision ID: 0042
Revises: 0041
Create Date: 2026-07-01

Changes:
  - contact_inquiries: add topic (VARCHAR(50) NOT NULL DEFAULT 'other') — cemetery public contact form topic enum
  - contact_inquiries: add person_or_plot (VARCHAR(255) NULL)
  - contact_inquiries: add subscribe_newsletter (BOOLEAN NOT NULL DEFAULT FALSE)
"""
from alembic import op
import sqlalchemy as sa

revision = "0042"
down_revision = "0041"
branch_labels = None
depends_on = None


def upgrade() -> None:
    conn = op.get_bind()

    conn.execute(sa.text(
        "ALTER TABLE contact_inquiries ADD COLUMN IF NOT EXISTS topic VARCHAR(50) "
        "NOT NULL DEFAULT 'other'"
    ))
    conn.execute(sa.text(
        "ALTER TABLE contact_inquiries ADD COLUMN IF NOT EXISTS person_or_plot VARCHAR(255)"
    ))
    conn.execute(sa.text(
        "ALTER TABLE contact_inquiries ADD COLUMN IF NOT EXISTS subscribe_newsletter "
        "BOOLEAN NOT NULL DEFAULT FALSE"
    ))


def downgrade() -> None:
    conn = op.get_bind()

    conn.execute(sa.text("ALTER TABLE contact_inquiries DROP COLUMN IF EXISTS subscribe_newsletter"))
    conn.execute(sa.text("ALTER TABLE contact_inquiries DROP COLUMN IF EXISTS person_or_plot"))
    conn.execute(sa.text("ALTER TABLE contact_inquiries DROP COLUMN IF EXISTS topic"))
