# Generated by Django 3.2.6 on 2021-09-09 11:24

from django.apps.registry import Apps
from django.core.exceptions import FieldError
from django.db import migrations
from django.db.backends.base.schema import BaseDatabaseSchemaEditor


def migrate_defaults(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
    from authentik.providers.oauth2.models import JWTAlgorithms
    from authentik.providers.proxy.models import ProxyProvider

    db_alias = schema_editor.connection.alias
    try:
        for provider in ProxyProvider.objects.using(db_alias).filter(jwt_alg=JWTAlgorithms.RS256):
            provider.set_oauth_defaults()
            provider.save()
    except FieldError:
        # If the jwt_alg field doesn't exist, just ignore this migration
        pass


class Migration(migrations.Migration):

    dependencies = [
        ("authentik_providers_proxy", "0013_mode"),
    ]

    operations = [migrations.RunPython(migrate_defaults)]
