"""add recall fields to penerimaan

Revision ID: a1b2c3d4e5f7
Revises: z2d3e4f5g6h7
Create Date: 2026-04-19

"""
from alembic import op
import sqlalchemy as sa

revision = 'a1b2c3d4e5f7'
down_revision = 'cb74d91c508b'
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column('penerimaan', sa.Column('recalled_by_id', sa.Integer(), nullable=True))
    op.add_column('penerimaan', sa.Column('recalled_at', sa.DateTime(timezone=True), nullable=True))
    op.create_foreign_key(
        'fk_penerimaan_recalled_by_id',
        'penerimaan', 'master_user',
        ['recalled_by_id'], ['id'],
        ondelete='SET NULL',
    )


def downgrade() -> None:
    op.drop_constraint('fk_penerimaan_recalled_by_id', 'penerimaan', type_='foreignkey')
    op.drop_column('penerimaan', 'recalled_at')
    op.drop_column('penerimaan', 'recalled_by_id')
