"""Template defaults and project template source snapshots.

Revision ID: 058
Revises: 057
"""
from alembic import op
import sqlalchemy as sa

revision = "058"
down_revision = "057"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        "templates",
        sa.Column("is_default", sa.Boolean(), nullable=False, server_default="false"),
    )
    op.create_index(
        "ix_templates_framework_default",
        "templates",
        ["framework", "is_default"],
    )

    op.add_column("projects", sa.Column("template_ref", sa.String(length=63), nullable=True))
    op.add_column("projects", sa.Column("template_github_repo", sa.String(length=255), nullable=True))
    op.add_column("projects", sa.Column("template_starter_branch", sa.String(length=100), nullable=True))
    op.add_column("projects", sa.Column("template_starter_sha", sa.String(length=40), nullable=True))


def downgrade() -> None:
    op.drop_column("projects", "template_starter_sha")
    op.drop_column("projects", "template_starter_branch")
    op.drop_column("projects", "template_github_repo")
    op.drop_column("projects", "template_ref")

    op.drop_index("ix_templates_framework_default", table_name="templates")
    op.drop_column("templates", "is_default")
