"""Add roles and preferences

Revision ID: 0d222ac90763
Revises: d1f94480db87
Create Date: 2025-05-21 11:46:58.826228

"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
from main.services.custom_sqlalchemy_types import EnumSqlalchemyType
from main.services.enums.user import AdminRole

# revision identifiers, used by Alembic.
revision = '0d222ac90763'
down_revision = 'd1f94480db87'
branch_labels = None
depends_on = None


def upgrade():
    op.add_column('users', sa.Column('admin_roles', sa.ARRAY(EnumSqlalchemyType(AdminRole)), nullable=True))
    op.add_column('users', sa.Column('preferences', sa.JSON(), nullable=True, server_default='{}'))

def downgrade():
    op.drop_column('users', 'admin_roles')
    op.drop_column('users', 'preferences')
