from django.db import migrations, models


def mark_all_orgs_uidai_ready(apps, schema_editor):
    # UIDAI setup is now centralized on Avighna's side (PlatformSettings),
    # so every existing org is ready regardless of whether they'd
    # previously filled in their own AC/SA code or keys.
    Organization = apps.get_model('accounts', 'Organization')
    Organization.objects.update(uidai_setup_done=True)


def noop_reverse(apps, schema_editor):
    pass


class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0006_platformsettings'),
    ]

    operations = [
        migrations.AddField(
            model_name='platformsettings',
            name='ac_code',
            field=models.CharField(blank=True, help_text="Avighna's UIDAI-issued AC (Auth Client) Code", max_length=100),
        ),
        migrations.AddField(
            model_name='platformsettings',
            name='sa_code',
            field=models.CharField(blank=True, help_text="Avighna's UIDAI-issued SA (Sub-AUA) Code", max_length=100),
        ),
        migrations.AddField(
            model_name='platformsettings',
            name='private_key',
            field=models.TextField(blank=True, help_text="Avighna's RSA private key used to sign every client's JWT"),
        ),
        migrations.AddField(
            model_name='platformsettings',
            name='public_key',
            field=models.TextField(blank=True),
        ),
        migrations.RunPython(mark_all_orgs_uidai_ready, noop_reverse),
    ]
