authentik.enterprise.providers.google_workspace.migrations.0001_initial
1# Generated by Django 5.0.4 on 2024-05-07 16:03 2 3import django.db.models.deletion 4import uuid 5from django.conf import settings 6from django.db import migrations, models 7 8 9class Migration(migrations.Migration): 10 11 initial = True 12 13 dependencies = [ 14 ("authentik_core", "0035_alter_group_options_and_more"), 15 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 16 ] 17 18 operations = [ 19 migrations.CreateModel( 20 name="GoogleWorkspaceProviderMapping", 21 fields=[ 22 ( 23 "propertymapping_ptr", 24 models.OneToOneField( 25 auto_created=True, 26 on_delete=django.db.models.deletion.CASCADE, 27 parent_link=True, 28 primary_key=True, 29 serialize=False, 30 to="authentik_core.propertymapping", 31 ), 32 ), 33 ], 34 options={ 35 "verbose_name": "Google Workspace Provider Mapping", 36 "verbose_name_plural": "Google Workspace Provider Mappings", 37 }, 38 bases=("authentik_core.propertymapping",), 39 ), 40 migrations.CreateModel( 41 name="GoogleWorkspaceProvider", 42 fields=[ 43 ( 44 "provider_ptr", 45 models.OneToOneField( 46 auto_created=True, 47 on_delete=django.db.models.deletion.CASCADE, 48 parent_link=True, 49 primary_key=True, 50 serialize=False, 51 to="authentik_core.provider", 52 ), 53 ), 54 ("delegated_subject", models.EmailField(max_length=254)), 55 ("credentials", models.JSONField()), 56 ( 57 "scopes", 58 models.TextField( 59 default="https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.domain.readonly" 60 ), 61 ), 62 ("default_group_email_domain", models.TextField()), 63 ("exclude_users_service_account", models.BooleanField(default=False)), 64 ( 65 "user_delete_action", 66 models.TextField( 67 choices=[ 68 ("do_nothing", "Do Nothing"), 69 ("delete", "Delete"), 70 ("suspend", "Suspend"), 71 ], 72 default="delete", 73 ), 74 ), 75 ( 76 "group_delete_action", 77 models.TextField( 78 choices=[ 79 ("do_nothing", "Do Nothing"), 80 ("delete", "Delete"), 81 ("suspend", "Suspend"), 82 ], 83 default="delete", 84 ), 85 ), 86 ( 87 "filter_group", 88 models.ForeignKey( 89 default=None, 90 null=True, 91 on_delete=django.db.models.deletion.SET_DEFAULT, 92 to="authentik_core.group", 93 ), 94 ), 95 ( 96 "property_mappings_group", 97 models.ManyToManyField( 98 blank=True, 99 default=None, 100 help_text="Property mappings used for group creation/updating.", 101 to="authentik_core.propertymapping", 102 ), 103 ), 104 ], 105 options={ 106 "verbose_name": "Google Workspace Provider", 107 "verbose_name_plural": "Google Workspace Providers", 108 }, 109 bases=("authentik_core.provider", models.Model), 110 ), 111 migrations.CreateModel( 112 name="GoogleWorkspaceProviderGroup", 113 fields=[ 114 ( 115 "id", 116 models.UUIDField( 117 default=uuid.uuid4, editable=False, primary_key=True, serialize=False 118 ), 119 ), 120 ("google_id", models.TextField()), 121 ( 122 "group", 123 models.ForeignKey( 124 on_delete=django.db.models.deletion.CASCADE, to="authentik_core.group" 125 ), 126 ), 127 ( 128 "provider", 129 models.ForeignKey( 130 on_delete=django.db.models.deletion.CASCADE, 131 to="authentik_providers_google_workspace.googleworkspaceprovider", 132 ), 133 ), 134 ], 135 options={ 136 "unique_together": {("google_id", "group", "provider")}, 137 }, 138 ), 139 migrations.CreateModel( 140 name="GoogleWorkspaceProviderUser", 141 fields=[ 142 ( 143 "id", 144 models.UUIDField( 145 default=uuid.uuid4, editable=False, primary_key=True, serialize=False 146 ), 147 ), 148 ("google_id", models.TextField()), 149 ( 150 "provider", 151 models.ForeignKey( 152 on_delete=django.db.models.deletion.CASCADE, 153 to="authentik_providers_google_workspace.googleworkspaceprovider", 154 ), 155 ), 156 ( 157 "user", 158 models.ForeignKey( 159 on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL 160 ), 161 ), 162 ], 163 options={ 164 "unique_together": {("google_id", "user", "provider")}, 165 }, 166 ), 167 ]
class
Migration(django.db.migrations.migration.Migration):
10class Migration(migrations.Migration): 11 12 initial = True 13 14 dependencies = [ 15 ("authentik_core", "0035_alter_group_options_and_more"), 16 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 17 ] 18 19 operations = [ 20 migrations.CreateModel( 21 name="GoogleWorkspaceProviderMapping", 22 fields=[ 23 ( 24 "propertymapping_ptr", 25 models.OneToOneField( 26 auto_created=True, 27 on_delete=django.db.models.deletion.CASCADE, 28 parent_link=True, 29 primary_key=True, 30 serialize=False, 31 to="authentik_core.propertymapping", 32 ), 33 ), 34 ], 35 options={ 36 "verbose_name": "Google Workspace Provider Mapping", 37 "verbose_name_plural": "Google Workspace Provider Mappings", 38 }, 39 bases=("authentik_core.propertymapping",), 40 ), 41 migrations.CreateModel( 42 name="GoogleWorkspaceProvider", 43 fields=[ 44 ( 45 "provider_ptr", 46 models.OneToOneField( 47 auto_created=True, 48 on_delete=django.db.models.deletion.CASCADE, 49 parent_link=True, 50 primary_key=True, 51 serialize=False, 52 to="authentik_core.provider", 53 ), 54 ), 55 ("delegated_subject", models.EmailField(max_length=254)), 56 ("credentials", models.JSONField()), 57 ( 58 "scopes", 59 models.TextField( 60 default="https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.domain.readonly" 61 ), 62 ), 63 ("default_group_email_domain", models.TextField()), 64 ("exclude_users_service_account", models.BooleanField(default=False)), 65 ( 66 "user_delete_action", 67 models.TextField( 68 choices=[ 69 ("do_nothing", "Do Nothing"), 70 ("delete", "Delete"), 71 ("suspend", "Suspend"), 72 ], 73 default="delete", 74 ), 75 ), 76 ( 77 "group_delete_action", 78 models.TextField( 79 choices=[ 80 ("do_nothing", "Do Nothing"), 81 ("delete", "Delete"), 82 ("suspend", "Suspend"), 83 ], 84 default="delete", 85 ), 86 ), 87 ( 88 "filter_group", 89 models.ForeignKey( 90 default=None, 91 null=True, 92 on_delete=django.db.models.deletion.SET_DEFAULT, 93 to="authentik_core.group", 94 ), 95 ), 96 ( 97 "property_mappings_group", 98 models.ManyToManyField( 99 blank=True, 100 default=None, 101 help_text="Property mappings used for group creation/updating.", 102 to="authentik_core.propertymapping", 103 ), 104 ), 105 ], 106 options={ 107 "verbose_name": "Google Workspace Provider", 108 "verbose_name_plural": "Google Workspace Providers", 109 }, 110 bases=("authentik_core.provider", models.Model), 111 ), 112 migrations.CreateModel( 113 name="GoogleWorkspaceProviderGroup", 114 fields=[ 115 ( 116 "id", 117 models.UUIDField( 118 default=uuid.uuid4, editable=False, primary_key=True, serialize=False 119 ), 120 ), 121 ("google_id", models.TextField()), 122 ( 123 "group", 124 models.ForeignKey( 125 on_delete=django.db.models.deletion.CASCADE, to="authentik_core.group" 126 ), 127 ), 128 ( 129 "provider", 130 models.ForeignKey( 131 on_delete=django.db.models.deletion.CASCADE, 132 to="authentik_providers_google_workspace.googleworkspaceprovider", 133 ), 134 ), 135 ], 136 options={ 137 "unique_together": {("google_id", "group", "provider")}, 138 }, 139 ), 140 migrations.CreateModel( 141 name="GoogleWorkspaceProviderUser", 142 fields=[ 143 ( 144 "id", 145 models.UUIDField( 146 default=uuid.uuid4, editable=False, primary_key=True, serialize=False 147 ), 148 ), 149 ("google_id", models.TextField()), 150 ( 151 "provider", 152 models.ForeignKey( 153 on_delete=django.db.models.deletion.CASCADE, 154 to="authentik_providers_google_workspace.googleworkspaceprovider", 155 ), 156 ), 157 ( 158 "user", 159 models.ForeignKey( 160 on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL 161 ), 162 ), 163 ], 164 options={ 165 "unique_together": {("google_id", "user", "provider")}, 166 }, 167 ), 168 ]
The base class for all migrations.
Migration files will import this from django.db.migrations.Migration and subclass it as a class called Migration. It will have one or more of the following attributes:
- operations: A list of Operation instances, probably from django.db.migrations.operations
- dependencies: A list of tuples of (app_path, migration_name)
- run_before: A list of tuples of (app_path, migration_name)
- replaces: A list of migration_names
Note that all migrations come out of migrations and into the Loader or Graph as instances, having been initialized with their app label and name.
dependencies =
[('authentik_core', '0035_alter_group_options_and_more'), ('authentik_core', '__first__')]
operations =
[<CreateModel name='GoogleWorkspaceProviderMapping', fields=[('propertymapping_ptr', <django.db.models.fields.related.OneToOneField>)], options={'verbose_name': 'Google Workspace Provider Mapping', 'verbose_name_plural': 'Google Workspace Provider Mappings'}, bases=('authentik_core.propertymapping',)>, <CreateModel name='GoogleWorkspaceProvider', fields=[('provider_ptr', <django.db.models.fields.related.OneToOneField>), ('delegated_subject', <django.db.models.fields.EmailField>), ('credentials', <django.db.models.fields.json.JSONField>), ('scopes', <django.db.models.fields.TextField>), ('default_group_email_domain', <django.db.models.fields.TextField>), ('exclude_users_service_account', <django.db.models.fields.BooleanField>), ('user_delete_action', <django.db.models.fields.TextField>), ('group_delete_action', <django.db.models.fields.TextField>), ('filter_group', <django.db.models.fields.related.ForeignKey>), ('property_mappings_group', <django.db.models.fields.related.ManyToManyField>)], options={'verbose_name': 'Google Workspace Provider', 'verbose_name_plural': 'Google Workspace Providers'}, bases=('authentik_core.provider', <class 'django.db.models.base.Model'>)>, <CreateModel name='GoogleWorkspaceProviderGroup', fields=[('id', <django.db.models.fields.UUIDField>), ('google_id', <django.db.models.fields.TextField>), ('group', <django.db.models.fields.related.ForeignKey>), ('provider', <django.db.models.fields.related.ForeignKey>)], options={'unique_together': {('google_id', 'group', 'provider')}}>, <CreateModel name='GoogleWorkspaceProviderUser', fields=[('id', <django.db.models.fields.UUIDField>), ('google_id', <django.db.models.fields.TextField>), ('provider', <django.db.models.fields.related.ForeignKey>), ('user', <django.db.models.fields.related.ForeignKey>)], options={'unique_together': {('google_id', 'user', 'provider')}}>]