authentik.providers.oauth2.migrations.0013_devicetoken

 1# Generated by Django 4.0.6 on 2022-07-27 08:15
 2
 3import django.db.models.deletion
 4from django.conf import settings
 5from django.db import migrations, models
 6
 7import authentik.core.models
 8import authentik.lib.generators
 9
10
11class Migration(migrations.Migration):
12    dependencies = [
13        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14        ("authentik_providers_oauth2", "0012_remove_oauth2provider_verification_keys"),
15    ]
16
17    operations = [
18        migrations.CreateModel(
19            name="DeviceToken",
20            fields=[
21                (
22                    "id",
23                    models.AutoField(
24                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
25                    ),
26                ),
27                (
28                    "expires",
29                    models.DateTimeField(default=authentik.core.models.default_token_duration),
30                ),
31                ("expiring", models.BooleanField(default=True)),
32                ("device_code", models.TextField(default=authentik.lib.generators.generate_key)),
33                (
34                    "user_code",
35                    models.TextField(default=authentik.lib.generators.generate_code_fixed_length),
36                ),
37                ("_scope", models.TextField(default="", verbose_name="Scopes")),
38                (
39                    "provider",
40                    models.ForeignKey(
41                        on_delete=django.db.models.deletion.CASCADE,
42                        to="authentik_providers_oauth2.oauth2provider",
43                    ),
44                ),
45                (
46                    "user",
47                    models.ForeignKey(
48                        default=None,
49                        null=True,
50                        on_delete=django.db.models.deletion.CASCADE,
51                        to=settings.AUTH_USER_MODEL,
52                    ),
53                ),
54            ],
55            options={
56                "verbose_name": "Device Token",
57                "verbose_name_plural": "Device Tokens",
58            },
59        ),
60    ]
class Migration(django.db.migrations.migration.Migration):
12class Migration(migrations.Migration):
13    dependencies = [
14        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15        ("authentik_providers_oauth2", "0012_remove_oauth2provider_verification_keys"),
16    ]
17
18    operations = [
19        migrations.CreateModel(
20            name="DeviceToken",
21            fields=[
22                (
23                    "id",
24                    models.AutoField(
25                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
26                    ),
27                ),
28                (
29                    "expires",
30                    models.DateTimeField(default=authentik.core.models.default_token_duration),
31                ),
32                ("expiring", models.BooleanField(default=True)),
33                ("device_code", models.TextField(default=authentik.lib.generators.generate_key)),
34                (
35                    "user_code",
36                    models.TextField(default=authentik.lib.generators.generate_code_fixed_length),
37                ),
38                ("_scope", models.TextField(default="", verbose_name="Scopes")),
39                (
40                    "provider",
41                    models.ForeignKey(
42                        on_delete=django.db.models.deletion.CASCADE,
43                        to="authentik_providers_oauth2.oauth2provider",
44                    ),
45                ),
46                (
47                    "user",
48                    models.ForeignKey(
49                        default=None,
50                        null=True,
51                        on_delete=django.db.models.deletion.CASCADE,
52                        to=settings.AUTH_USER_MODEL,
53                    ),
54                ),
55            ],
56            options={
57                "verbose_name": "Device Token",
58                "verbose_name_plural": "Device Tokens",
59            },
60        ),
61    ]

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', '__first__'), ('authentik_providers_oauth2', '0012_remove_oauth2provider_verification_keys')]
operations = [<CreateModel name='DeviceToken', fields=[('id', <django.db.models.fields.AutoField>), ('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('device_code', <django.db.models.fields.TextField>), ('user_code', <django.db.models.fields.TextField>), ('_scope', <django.db.models.fields.TextField>), ('provider', <django.db.models.fields.related.ForeignKey>), ('user', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Device Token', 'verbose_name_plural': 'Device Tokens'}>]