"""remake borrow request flow

Revision ID: cccc_borrow_remake
Revises: bbbb_add_document_borrowing
Create Date: 2026-04-23 00:00:00.000000
"""
from alembic import op
import sqlalchemy as sa

revision = 'cccc_borrow_remake'
down_revision = 'bbbb_add_document_borrowing'
branch_labels = None
depends_on = None


def upgrade() -> None:
    # Add new columns to borrow_requests
    op.add_column('borrow_requests', sa.Column('handover_recipient', sa.String(255), nullable=True))
    op.add_column('borrow_requests', sa.Column('handover_date', sa.DateTime(), nullable=True))
    op.add_column('borrow_requests', sa.Column('handover_photo_path', sa.String(500), nullable=True))
    op.add_column('borrow_requests', sa.Column('return_photo_path', sa.String(500), nullable=True))

    # Migrate old status values to new ones:
    # pending → active (auto-approved now), rejected → completed (dead end, treat as done)
    op.execute("UPDATE borrow_requests SET status = 'active' WHERE status = 'pending'")
    op.execute("UPDATE borrow_requests SET status = 'completed' WHERE status = 'rejected'")
    # 'active' stays 'active', 'completed' stays 'completed'


def downgrade() -> None:
    op.drop_column('borrow_requests', 'return_photo_path')
    op.drop_column('borrow_requests', 'handover_photo_path')
    op.drop_column('borrow_requests', 'handover_date')
    op.drop_column('borrow_requests', 'handover_recipient')
