"""Expand settings with profile, social, and sharing fields. Revision ID: 040 Revises: 039 """ from alembic import op import sqlalchemy as sa revision = "040" down_revision = "039" branch_labels = None depends_on = None def upgrade() -> None: # Profile fields op.add_column("settings", sa.Column("phone", sa.String(50), nullable=True)) op.add_column("settings", sa.Column("mobile", sa.String(50), nullable=True)) op.add_column("settings", sa.Column("address", sa.Text, nullable=True)) op.add_column("settings", sa.Column("company", sa.String(255), nullable=True)) op.add_column("settings", sa.Column("job_title", sa.String(255), nullable=True)) # Social toggle op.add_column( "settings", sa.Column("accept_connections", sa.Boolean, nullable=False, server_default="false"), ) # Sharing defaults op.add_column( "settings", sa.Column("share_preferred_name", sa.Boolean, nullable=False, server_default="true"), ) op.add_column( "settings", sa.Column("share_email", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_phone", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_mobile", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_birthday", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_address", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_company", sa.Boolean, nullable=False, server_default="false"), ) op.add_column( "settings", sa.Column("share_job_title", sa.Boolean, nullable=False, server_default="false"), ) # ntfy connection notifications toggle (gates push only, not in-app) op.add_column( "settings", sa.Column("ntfy_connections_enabled", sa.Boolean, nullable=False, server_default="true"), ) def downgrade() -> None: op.drop_column("settings", "ntfy_connections_enabled") op.drop_column("settings", "share_job_title") op.drop_column("settings", "share_company") op.drop_column("settings", "share_address") op.drop_column("settings", "share_birthday") op.drop_column("settings", "share_mobile") op.drop_column("settings", "share_phone") op.drop_column("settings", "share_email") op.drop_column("settings", "share_preferred_name") op.drop_column("settings", "accept_connections") op.drop_column("settings", "job_title") op.drop_column("settings", "company") op.drop_column("settings", "address") op.drop_column("settings", "mobile") op.drop_column("settings", "phone")