# Generated by Django 5.2.4 on 2026-04-23 15:07
from django.db import migrations
import json

def remove_tt_student(apps, schema_editor):
    TtSetting = apps.get_model('api', 'TtSetting')

    obj = TtSetting.objects.filter(param="import_tables").first()
    if not obj:
        return

    try:
        tables = json.loads(obj.value)
    except Exception:
        return

    # remove tt_student if exists
    if "tt_student" in tables:
        tables.remove("tt_student")
        obj.value = json.dumps(tables)
        obj.save()


def reverse_func(apps, schema_editor):
    TtSetting = apps.get_model('api', 'TtSetting')

    obj = TtSetting.objects.filter(param="import_tables").first()
    if not obj:
        return

    try:
        tables = json.loads(obj.value)
    except Exception:
        tables = []

    # add back tt_student if missing
    if "tt_student" not in tables:
        tables.append("tt_student")
        obj.value = json.dumps(tables)
        obj.save()

class Migration(migrations.Migration):

    dependencies = [
        ('api', '0056_ttconstraintprofilefreeblock_and_more'),
    ]

    operations = [
        migrations.RunPython(remove_tt_student, reverse_func),
    ]
