"""import_settings: per-host enable toggles for external file-host downloads

Operator levers (#830): disable a single host (e.g. mega.nz when it's
rate-limiting/banning) without touching the others. The worker reads these via
getattr and defaults to enabled, so the toggles default TRUE (works out of the
box, rule #26).

Revision ID: 0050
Revises: 0049
Create Date: 2026-06-14
"""
from typing import Sequence, Union

import sqlalchemy as sa
from alembic import op

revision: str = "0050"
down_revision: Union[str, None] = "0049"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None

_HOSTS = ("mega", "gdrive", "mediafire", "dropbox", "pixeldrain")


def upgrade() -> None:
    for host in _HOSTS:
        op.add_column(
            "import_settings",
            sa.Column(
                f"extdl_{host}_enabled", sa.Boolean(), nullable=False,
                server_default=sa.true(),
            ),
        )


def downgrade() -> None:
    for host in _HOSTS:
        op.drop_column("import_settings", f"extdl_{host}_enabled")
