"""Add public showcase controls for templates.

Revision ID: 087
Revises: 086
"""
from alembic import op
import sqlalchemy as sa


revision = "087"
down_revision = "086"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        "templates",
        sa.Column("is_showcased", sa.Boolean(), nullable=False, server_default="false"),
    )
    op.add_column("templates", sa.Column("showcase_rank", sa.Integer(), nullable=True))
    op.create_index(
        "ix_templates_public_showcase",
        "templates",
        ["is_showcased", "is_active", "deploy_status", "showcase_rank"],
    )


def downgrade() -> None:
    op.drop_index("ix_templates_public_showcase", table_name="templates")
    op.drop_column("templates", "showcase_rank")
    op.drop_column("templates", "is_showcased")
