"""Add catalog_enabled flag to merchant_widget_keys

Adds a boolean column to merchant_widget_keys that controls whether the
public product-catalog endpoint ( GET /public/cart/products ) is available
for a given widget key.  Defaults to False so existing keys are unaffected.

Revision ID: cart002_catalog_enabled
Revises: global001_provider_global_creds
Create Date: 2026-04-23

"""
from alembic import op
import sqlalchemy as sa

revision = 'cart002_catalog_enabled'
down_revision = 'global001_provider_global_creds'
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        'merchant_widget_keys',
        sa.Column(
            'catalog_enabled',
            sa.Boolean(),
            nullable=False,
            server_default='false',
        ),
    )


def downgrade() -> None:
    op.drop_column('merchant_widget_keys', 'catalog_enabled')
