"""Add stock_adjustment_item_foto table for sounding photo evidence.

Revision ID: j5e6f7a8b9c0
Revises: i4d5e6f7a8b9
Create Date: 2026-04-03
"""

from alembic import op
import sqlalchemy as sa

revision = 'j5e6f7a8b9c0'
down_revision = 'i4d5e6f7a8b9'
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.create_table(
        'stock_adjustment_item_foto',
        sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('stock_adjustment_item_id', sa.Integer(), nullable=False),
        sa.Column('tipe', sa.String(20), nullable=False),  # 'manual' | 'digital'
        sa.Column('url', sa.String(500), nullable=False),
        sa.Column('created_at', sa.DateTime(timezone=True),
                  server_default=sa.text('now()'), nullable=False),
        sa.ForeignKeyConstraint(
            ['stock_adjustment_item_id'], ['stock_adjustment_item.id'],
            ondelete='CASCADE'
        ),
        sa.PrimaryKeyConstraint('id'),
    )
    op.create_index(
        'ix_stock_adj_item_foto_item_id',
        'stock_adjustment_item_foto',
        ['stock_adjustment_item_id'],
    )


def downgrade() -> None:
    op.drop_index('ix_stock_adj_item_foto_item_id',
                  table_name='stock_adjustment_item_foto')
    op.drop_table('stock_adjustment_item_foto')
