"""Reset migration

Revision ID: afbbd27a4d1f
Revises: 
Create Date: 2025-05-21 07:24:36.707398

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = 'afbbd27a4d1f'
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('generated_images', sa.Column('store_id', sa.Integer(), nullable=True))
    op.add_column('generated_images', sa.Column('user_id', sa.Integer(), nullable=True))
    op.add_column('generated_images', sa.Column('created_at', sa.DateTime(), server_default=sa.text('now()'), nullable=False))
    op.alter_column('generated_images', 'branch_id',
               existing_type=sa.INTEGER(),
               nullable=True)
    op.create_index(op.f('ix_generated_images_store_id'), 'generated_images', ['store_id'], unique=False)
    op.create_index(op.f('ix_generated_images_user_id'), 'generated_images', ['user_id'], unique=False)
    op.add_column('usersessions', sa.Column('login_code', sa.String(), nullable=True))
    op.add_column('usersessions', sa.Column('is_login_code_used', sa.Boolean(), nullable=True))
    op.create_unique_constraint(None, 'usersessions', ['login_code'])
    # ### end Alembic commands ###


def downgrade() -> None:
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_constraint(None, 'usersessions', type_='unique')
    op.drop_column('usersessions', 'is_login_code_used')
    op.drop_column('usersessions', 'login_code')
    op.drop_index(op.f('ix_generated_images_user_id'), table_name='generated_images')
    op.drop_index(op.f('ix_generated_images_store_id'), table_name='generated_images')
    op.alter_column('generated_images', 'branch_id',
               existing_type=sa.INTEGER(),
               nullable=False)
    op.drop_column('generated_images', 'created_at')
    op.drop_column('generated_images', 'user_id')
    op.drop_column('generated_images', 'store_id')
    # ### end Alembic commands ###
