"""add password reset fields

Revision ID: add_password_reset
Revises: 
Create Date: 2025-11-03

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'add_password_reset'
down_revision = 'add_gst_registered'
branch_labels = None
depends_on = None


def upgrade():
    # Add password reset columns to users table
    op.add_column('users', sa.Column('password_reset_token', sa.String(length=255), nullable=True))
    op.add_column('users', sa.Column('password_reset_expires', sa.DateTime(), nullable=True))
    
    # Create unique index on password_reset_token
    op.create_index(op.f('ix_users_password_reset_token'), 'users', ['password_reset_token'], unique=True)


def downgrade():
    # Remove index and columns
    op.drop_index(op.f('ix_users_password_reset_token'), table_name='users')
    op.drop_column('users', 'password_reset_expires')
    op.drop_column('users', 'password_reset_token')
