v0.151.1
  1# Generated by Plain 0.150.0 on 2026-06-19 17:38
  2
  3from plain import postgres
  4from plain.postgres import migrations
  5
  6
  7class Migration(migrations.Migration):
  8    initial = True
  9
 10    dependencies = [
 11        ("users", "__first__"),
 12    ]
 13
 14    operations = [
 15        migrations.CreateModel(
 16            name="OAuthApplication",
 17            fields=[
 18                ("id", postgres.PrimaryKeyField()),
 19                ("client_id", postgres.RandomStringField(length=32)),
 20                ("created_at", postgres.DateTimeField(create_now=True)),
 21                (
 22                    "name",
 23                    postgres.TextField(default="", max_length=255, required=False),
 24                ),
 25                ("redirect_uris", postgres.TextField(max_length=2000)),
 26            ],
 27        ),
 28        migrations.CreateModel(
 29            name="AccessToken",
 30            fields=[
 31                ("id", postgres.PrimaryKeyField()),
 32                ("created_at", postgres.DateTimeField(create_now=True)),
 33                ("expires_at", postgres.DateTimeField()),
 34                (
 35                    "resource",
 36                    postgres.TextField(default="", max_length=2000, required=False),
 37                ),
 38                ("revoked", postgres.BooleanField(default=False)),
 39                (
 40                    "scope",
 41                    postgres.TextField(default="", max_length=500, required=False),
 42                ),
 43                ("token_hash", postgres.TextField(max_length=64)),
 44                (
 45                    "user",
 46                    postgres.ForeignKeyField(
 47                        on_delete=postgres.CASCADE, to="users.user"
 48                    ),
 49                ),
 50                (
 51                    "application",
 52                    postgres.ForeignKeyField(
 53                        on_delete=postgres.CASCADE,
 54                        to="plainoauthserver.oauthapplication",
 55                    ),
 56                ),
 57            ],
 58        ),
 59        migrations.CreateModel(
 60            name="AuthorizationCode",
 61            fields=[
 62                ("id", postgres.PrimaryKeyField()),
 63                ("code", postgres.RandomStringField(length=48)),
 64                ("code_challenge", postgres.TextField(max_length=128)),
 65                ("created_at", postgres.DateTimeField(create_now=True)),
 66                ("expires_at", postgres.DateTimeField()),
 67                ("redirect_uri", postgres.TextField(max_length=2000)),
 68                (
 69                    "resource",
 70                    postgres.TextField(default="", max_length=2000, required=False),
 71                ),
 72                (
 73                    "scope",
 74                    postgres.TextField(default="", max_length=500, required=False),
 75                ),
 76                ("used", postgres.BooleanField(default=False)),
 77                (
 78                    "user",
 79                    postgres.ForeignKeyField(
 80                        on_delete=postgres.CASCADE, to="users.user"
 81                    ),
 82                ),
 83                (
 84                    "application",
 85                    postgres.ForeignKeyField(
 86                        on_delete=postgres.CASCADE,
 87                        to="plainoauthserver.oauthapplication",
 88                    ),
 89                ),
 90            ],
 91        ),
 92        migrations.CreateModel(
 93            name="RefreshToken",
 94            fields=[
 95                ("id", postgres.PrimaryKeyField()),
 96                ("created_at", postgres.DateTimeField(create_now=True)),
 97                ("expires_at", postgres.DateTimeField()),
 98                ("revoked", postgres.BooleanField(default=False)),
 99                ("token_hash", postgres.TextField(max_length=64)),
100                (
101                    "user",
102                    postgres.ForeignKeyField(
103                        on_delete=postgres.CASCADE, to="users.user"
104                    ),
105                ),
106                (
107                    "access_token",
108                    postgres.ForeignKeyField(
109                        on_delete=postgres.CASCADE, to="plainoauthserver.accesstoken"
110                    ),
111                ),
112                (
113                    "application",
114                    postgres.ForeignKeyField(
115                        on_delete=postgres.CASCADE,
116                        to="plainoauthserver.oauthapplication",
117                    ),
118                ),
119            ],
120        ),
121    ]