"""Add laporan_shift_id and resolve fields to anomali_records.

Revision ID: f8i9j0k1l2m3
Revises: z2d3e4f5g6h7
Create Date: 2026-04-12

"""
from alembic import op
import sqlalchemy as sa

revision = "f8i9j0k1l2m3"
down_revision = "z2d3e4f5g6h7"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.add_column(
        "anomali_records",
        sa.Column(
            "laporan_shift_id",
            sa.Integer(),
            sa.ForeignKey("laporan_shift.id", ondelete="SET NULL"),
            nullable=True,
        ),
    )
    op.create_index(
        "ix_anomali_laporan_shift_id", "anomali_records", ["laporan_shift_id"]
    )

    op.add_column(
        "anomali_records",
        sa.Column("deskripsi", sa.Text(), nullable=True),
    )
    op.add_column(
        "anomali_records",
        sa.Column("resolved_at", sa.DateTime(timezone=True), nullable=True),
    )
    op.add_column(
        "anomali_records",
        sa.Column(
            "resolved_by_id",
            sa.Integer(),
            sa.ForeignKey("master_user.id", ondelete="SET NULL"),
            nullable=True,
        ),
    )
    op.add_column(
        "anomali_records",
        sa.Column("catatan_resolusi", sa.Text(), nullable=True),
    )


def downgrade() -> None:
    op.drop_column("anomali_records", "catatan_resolusi")
    op.drop_column("anomali_records", "resolved_by_id")
    op.drop_column("anomali_records", "resolved_at")
    op.drop_column("anomali_records", "deskripsi")
    op.drop_index("ix_anomali_laporan_shift_id", table_name="anomali_records")
    op.drop_column("anomali_records", "laporan_shift_id")
