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 ]