# Generated by Django 3.0.6 on 2020-05-24 11:34 from django.apps.registry import Apps from django.db import migrations from django.db.backends.base.schema import BaseDatabaseSchemaEditor from passbook.flows.models import FlowDesignation def create_default_provider_authz_flow( apps: Apps, schema_editor: BaseDatabaseSchemaEditor ): Flow = apps.get_model("passbook_flows", "Flow") FlowStageBinding = apps.get_model("passbook_flows", "FlowStageBinding") ConsentStage = apps.get_model("passbook_stages_consent", "ConsentStage") db_alias = schema_editor.connection.alias # Empty flow for providers where no consent is needed Flow.objects.create( name="default-provider-authorization", slug="default-provider-authorization", designation=FlowDesignation.AUTHORIZATION, ) # Flow with consent form to obtain user consent for authorization flow = Flow.objects.create( name="default-provider-authorization-consent", slug="default-provider-authorization-consent", designation=FlowDesignation.AUTHORIZATION, ) stage = ConsentStage.objects.create(name="default-provider-authorization-consent") FlowStageBinding.objects.create(flow=flow, stage=stage, order=0) class Migration(migrations.Migration): dependencies = [ ("passbook_flows", "0004_source_flows"), ("passbook_stages_consent", "0001_initial"), ] operations = [migrations.RunPython(create_default_provider_authz_flow)]