from django.db import migrations


def native_to_programme(apps, schema_editor):
    Programme = apps.get_model("smehub_incubation", "Programme")
    Programme.objects.filter(call_type="native").update(call_type="programme")


def programme_to_native(apps, schema_editor):
    Programme = apps.get_model("smehub_incubation", "Programme")
    Programme.objects.filter(call_type="programme").update(call_type="native")


class Migration(migrations.Migration):

    dependencies = [
        ("smehub_incubation", "0007_rubricsection_legacy_field_name_and_more"),
    ]

    operations = [
        migrations.RenameField("programme", "legacy_form_schema", "application_form_schema"),
        migrations.RenameField("programme", "legacy_smehub_id", "external_ref"),
        migrations.RenameField("scoringrubric", "legacy_form_schema", "application_form_schema"),
        migrations.RenameField("rubricsection", "legacy_field_name", "form_field_name"),
        migrations.RenameField("rubricsection", "legacy_smehub_id", "external_ref"),
        migrations.RenameField("application", "legacy_form_data", "form_responses"),
        migrations.RenameField("application", "legacy_resolved_data", "form_answers"),
        migrations.RenameField("application", "legacy_smehub_id", "external_ref"),
        migrations.RemoveField("application", "legacy_call_type"),
        migrations.RenameField("judgescore", "legacy_smehub_id", "external_ref"),
        migrations.RenameField("judgescore", "legacy_raw", "score_breakdown"),
        migrations.RunPython(native_to_programme, programme_to_native),
    ]
