# 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 consent is implicitly given Flow.objects.create( name="Authorize Application", slug="default-provider-authorization-implicit-consent", designation=FlowDesignation.AUTHORIZATION, ) # Flow with consent form to obtain explicit user consent flow = Flow.objects.create( name="Authorize Application", slug="default-provider-authorization-explicit-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)]