from django.db import migrations

def update_first_admin_role(apps, schema_editor):
    Role = apps.get_model("api", "Role")
    RolePermission = apps.get_model("api", "RolePermission")

    role = Role.objects.filter(type="admin").first()
    if role:
        permissions = [
            'invigilator;create',
            'invigilator;list',
            'invigilator;update',
            'invigilator;delete',
            'invigilator_role;create',
            'invigilator_role;delete',
            'invigilator_role;list',
            'invigilator_role;update',
        ]
        for permission in permissions:
            RolePermission.objects.get_or_create(
                role_id=role.id,
                permission=permission,
            )

class Migration(migrations.Migration):

    dependencies = [
        ('api', '0019_esdepartment_estag_eszone_esdepartment_zone_and_more'),
    ]

    operations = [
        migrations.RunPython(update_first_admin_role),
    ]
