from django.db import migrations


def backfill(apps, schema_editor):
    Employee = apps.get_model("hr", "Employee")
    Membership = apps.get_model("core", "DepartmentMembership")
    for employee in Employee.objects.exclude(primary_department_id=None).exclude(user_id=None):
        Membership.objects.get_or_create(
            user_id=employee.user_id,
            department_id=employee.primary_department_id,
            defaults={"role": "staff", "is_active": employee.status == "active"},
        )


class Migration(migrations.Migration):
    dependencies = [("core", "0006_access_lifecycle"), ("hr", "0008_employee_primary_department")]
    operations = [migrations.RunPython(backfill, migrations.RunPython.noop)]
