# Generated by Django 6.0.4 on 2026-07-05 17:23

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('master_admin', '0006_usersession'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Language',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(max_length=10, unique=True)),
                ('name', models.CharField(max_length=100)),
                ('native_name', models.CharField(blank=True, max_length=100, null=True)),
                ('is_default', models.BooleanField(default=False)),
                ('is_active', models.BooleanField(default=True)),
                ('order', models.PositiveIntegerField(default=0)),
                ('created_at', models.DateTimeField(blank=True, null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'ordering': ['order', 'name'],
            },
        ),
        migrations.CreateModel(
            name='SchoolLanguageAccess',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_enabled', models.BooleanField(default=True)),
                ('enabled_at', models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.RenameIndex(
            model_name='usersession',
            new_name='master_admi_school__afd4e5_idx',
            old_name='master_admi_school__idx',
        ),
        migrations.RenameIndex(
            model_name='usersession',
            new_name='master_admi_user_id_7ffbf0_idx',
            old_name='master_admi_user_is_idx',
        ),
        migrations.RenameIndex(
            model_name='usersession',
            new_name='master_admi_user_ty_f8cbe0_idx',
            old_name='master_admi_user_ty_idx',
        ),
        migrations.AddIndex(
            model_name='language',
            index=models.Index(fields=['code'], name='master_admi_code_dc8166_idx'),
        ),
        migrations.AddIndex(
            model_name='language',
            index=models.Index(fields=['is_active'], name='master_admi_is_acti_6aa718_idx'),
        ),
        migrations.AddField(
            model_name='schoollanguageaccess',
            name='enabled_by',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='schoollanguageaccess',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='school_access', to='master_admin.language'),
        ),
        migrations.AddField(
            model_name='schoollanguageaccess',
            name='school',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='language_access', to='master_admin.school'),
        ),
        migrations.AddIndex(
            model_name='schoollanguageaccess',
            index=models.Index(fields=['school', 'language'], name='master_admi_school__708f28_idx'),
        ),
        migrations.AddIndex(
            model_name='schoollanguageaccess',
            index=models.Index(fields=['is_enabled'], name='master_admi_is_enab_9a42af_idx'),
        ),
        migrations.AlterUniqueTogether(
            name='schoollanguageaccess',
            unique_together={('school', 'language')},
        ),
    ]
