import json

from django.db import migrations


IMPORT_TABLES = [
    "es_zone",
    "es_department",
    "es_tag",
    "es_suitability",
    "es_pos",
    "es_student_group",
    "es_invigilator_role",
    "es_staff",
    "es_student",
    "es_location",
    "es_invigilator",
    "es_exam_period",
    "es_session_start",
    "es_exam_requirement",
    "es_suitability_invigilator",
    "es_suitability_location",
    "es_invigilator_roles",
    "es_student_student_group",
    "es_exam_period_unavailability",
    "es_exam_requirement_student",
    "es_exam_req_invigilator_s",
    "es_exam_req_location_s",
]


def add_import_tables(apps, schema_editor):
    EsSetting = apps.get_model("api", "EsSetting")
    EsSetting.objects.update_or_create(
        param="import_tables",
        defaults={"value": json.dumps(IMPORT_TABLES)},
    )


def reverse_import_tables(apps, schema_editor):
    EsSetting = apps.get_model("api", "EsSetting")
    EsSetting.objects.filter(param="import_tables").delete()


class Migration(migrations.Migration):

    dependencies = [
        ("api", "0069_esstudent_student_group"),
    ]

    operations = [
        migrations.RunPython(add_import_tables, reverse_import_tables),
    ]
