plain.oauth 0.22.0__tar.gz → 0.23.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/PKG-INFO +1 -1
  2. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/CHANGELOG.md +10 -0
  3. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/migrations/0001_initial.py +17 -13
  4. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/pyproject.toml +1 -1
  5. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/settings.py +0 -4
  6. plain_oauth-0.22.0/plain/oauth/migrations/0002_alter_oauthconnection_options_and_more.py +0 -24
  7. plain_oauth-0.22.0/plain/oauth/migrations/0003_alter_oauthconnection_access_token_and_more.py +0 -23
  8. plain_oauth-0.22.0/plain/oauth/migrations/0004_alter_oauthconnection_access_token_and_more.py +0 -23
  9. plain_oauth-0.22.0/plain/oauth/migrations/0005_alter_oauthconnection_unique_together_and_more.py +0 -20
  10. plain_oauth-0.22.0/plain/oauth/migrations/0006_remove_oauthconnection_unique_oauth_provider_user_id_and_more.py +0 -24
  11. plain_oauth-0.22.0/plain/oauth/migrations/0007_alter_oauthconnection_provider_key_and_more.py +0 -26
  12. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/.gitignore +0 -0
  13. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/LICENSE +0 -0
  14. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/README.md +0 -0
  15. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/README.md +0 -0
  16. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/__init__.py +0 -0
  17. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/admin.py +0 -0
  18. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/config.py +0 -0
  19. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/default_settings.py +0 -0
  20. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/exceptions.py +0 -0
  21. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/migrations/__init__.py +0 -0
  22. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/models.py +0 -0
  23. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/providers.py +0 -0
  24. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/templates/oauth/callback.html +0 -0
  25. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/urls.py +0 -0
  26. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/plain/oauth/views.py +0 -0
  27. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/provider_examples/__init__.py +0 -0
  28. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/provider_examples/bitbucket.py +0 -0
  29. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/provider_examples/github.py +0 -0
  30. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/provider_examples/gitlab.py +0 -0
  31. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/templates/base.html +0 -0
  32. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/templates/index.html +0 -0
  33. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/templates/login.html +0 -0
  34. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/urls.py +0 -0
  35. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/users/migrations/0001_initial.py +0 -0
  36. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/users/migrations/__init__.py +0 -0
  37. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/app/users/models.py +0 -0
  38. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/provider_tests/__init__.py +0 -0
  39. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/provider_tests/test_github.py +0 -0
  40. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/providers/__init__.py +0 -0
  41. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/providers/bitbucket.py +0 -0
  42. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/providers/github.py +0 -0
  43. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/providers/gitlab.py +0 -0
  44. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/test_backends.py +0 -0
  45. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/test_checks.py +0 -0
  46. {plain_oauth-0.22.0 → plain_oauth-0.23.0}/tests/test_providers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.oauth
3
- Version: 0.22.0
3
+ Version: 0.23.0
4
4
  Summary: OAuth login and API access for Plain.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,15 @@
1
1
  # plain-oauth changelog
2
2
 
3
+ ## [0.23.0](https://github.com/dropseed/plain/releases/plain-oauth@0.23.0) (2025-07-18)
4
+
5
+ ### What's changed
6
+
7
+ - Migrations have been restarted to consolidate the migration history into a single initial migration ([484f1b6](https://github.com/dropseed/plain/commit/484f1b6e93))
8
+
9
+ ### Upgrade instructions
10
+
11
+ - Run `plain migrate --prune plainoauth` after upgrading to clean up old migration records
12
+
3
13
  ## [0.22.0](https://github.com/dropseed/plain/releases/plain-oauth@0.22.0) (2025-06-23)
4
14
 
5
15
  ### What's changed
@@ -1,4 +1,4 @@
1
- # Generated by Plain 4.0.3 on 2022-03-16 19:11
1
+ # Generated by Plain 0.52.2 on 2025-07-08 01:17
2
2
 
3
3
  import plain.models.deletion
4
4
  from plain import models
@@ -17,35 +17,39 @@ class Migration(migrations.Migration):
17
17
  migrations.CreateModel(
18
18
  name="OAuthConnection",
19
19
  fields=[
20
- (
21
- "id",
22
- models.BigAutoField(
23
- auto_created=True,
24
- primary_key=True,
25
- ),
26
- ),
20
+ ("id", models.BigAutoField(auto_created=True, primary_key=True)),
27
21
  ("created_at", models.DateTimeField(auto_now_add=True)),
28
22
  ("updated_at", models.DateTimeField(auto_now=True)),
29
23
  ("provider_key", models.CharField(max_length=100)),
30
24
  ("provider_user_id", models.CharField(max_length=100)),
31
- ("access_token", models.CharField(required=False, max_length=100)),
32
- ("refresh_token", models.CharField(required=False, max_length=100)),
25
+ ("access_token", models.CharField(max_length=2000)),
26
+ ("refresh_token", models.CharField(max_length=2000, required=False)),
33
27
  (
34
28
  "access_token_expires_at",
35
- models.DateTimeField(required=False, allow_null=True),
29
+ models.DateTimeField(allow_null=True, required=False),
36
30
  ),
37
31
  (
38
32
  "refresh_token_expires_at",
39
- models.DateTimeField(required=False, allow_null=True),
33
+ models.DateTimeField(allow_null=True, required=False),
40
34
  ),
41
35
  (
42
36
  "user",
43
37
  models.ForeignKey(
44
38
  on_delete=plain.models.deletion.CASCADE,
45
39
  related_name="oauth_connections",
46
- to=settings.AUTH_USER_MODEL,
40
+ to="users.user",
47
41
  ),
48
42
  ),
49
43
  ],
44
+ options={
45
+ "ordering": ("provider_key",),
46
+ },
47
+ ),
48
+ migrations.AddConstraint(
49
+ model_name="oauthconnection",
50
+ constraint=models.UniqueConstraint(
51
+ fields=("provider_key", "provider_user_id"),
52
+ name="plainoauth_oauthconnection_unique_provider_key_user_id",
53
+ ),
50
54
  ),
51
55
  ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plain.oauth"
3
- version = "0.22.0"
3
+ version = "0.23.0"
4
4
  description = "OAuth login and API access for Plain."
5
5
  authors = [{name = "Dave Gaeddert", email = "dave.gaeddert@dropseed.dev"}]
6
6
  license = "BSD-3-Clause"
@@ -9,10 +9,6 @@ INSTALLED_PACKAGES = [
9
9
  "plain.oauth",
10
10
  "app.users",
11
11
  ]
12
- DATABASE = {
13
- "ENGINE": "plain.models.backends.sqlite3",
14
- "NAME": ":memory:",
15
- }
16
12
  MIDDLEWARE = [
17
13
  "plain.sessions.middleware.SessionMiddleware",
18
14
  "plain.auth.middleware.AuthenticationMiddleware",
@@ -1,24 +0,0 @@
1
- # Generated by Plain 4.0.3 on 2022-03-18 18:24
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("plainoauth", "0001_initial"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterModelOptions(
14
- name="oauthconnection",
15
- options={
16
- "ordering": ("provider_key",),
17
- },
18
- ),
19
- migrations.AlterField(
20
- model_name="oauthconnection",
21
- name="access_token",
22
- field=models.CharField(max_length=100),
23
- ),
24
- ]
@@ -1,23 +0,0 @@
1
- # Generated by Plain 4.0.6 on 2022-08-11 19:18
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("plainoauth", "0002_alter_oauthconnection_options_and_more"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="oauthconnection",
15
- name="access_token",
16
- field=models.CharField(max_length=300),
17
- ),
18
- migrations.AlterField(
19
- model_name="oauthconnection",
20
- name="refresh_token",
21
- field=models.CharField(required=False, max_length=300),
22
- ),
23
- ]
@@ -1,23 +0,0 @@
1
- # Generated by Plain 5.0.dev20230806030948 on 2023-08-08 19:32
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("plainoauth", "0003_alter_oauthconnection_access_token_and_more"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="oauthconnection",
15
- name="access_token",
16
- field=models.CharField(max_length=2000),
17
- ),
18
- migrations.AlterField(
19
- model_name="oauthconnection",
20
- name="refresh_token",
21
- field=models.CharField(required=False, max_length=2000),
22
- ),
23
- ]
@@ -1,20 +0,0 @@
1
- # Generated by Plain 0.3.0 on 2024-08-16 16:46
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("plainoauth", "0004_alter_oauthconnection_access_token_and_more"),
10
- ]
11
-
12
- operations = [
13
- migrations.AddConstraint(
14
- model_name="oauthconnection",
15
- constraint=models.UniqueConstraint(
16
- fields=("provider_key", "provider_user_id"),
17
- name="unique_oauth_provider_user_id",
18
- ),
19
- ),
20
- ]
@@ -1,24 +0,0 @@
1
- # Generated by Plain 0.31.0 on 2025-03-08 21:33
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("plainoauth", "0005_alter_oauthconnection_unique_together_and_more"),
10
- ]
11
-
12
- operations = [
13
- migrations.RemoveConstraint(
14
- model_name="oauthconnection",
15
- name="unique_oauth_provider_user_id",
16
- ),
17
- migrations.AddConstraint(
18
- model_name="oauthconnection",
19
- constraint=models.UniqueConstraint(
20
- fields=("provider_key", "provider_user_id"),
21
- name="plainoauth_oauthconnection_unique_provider_key_user_id",
22
- ),
23
- ),
24
- ]
@@ -1,26 +0,0 @@
1
- # Generated by Plain 0.32.0 on 2025-03-10 15:37
2
-
3
- from plain import models
4
- from plain.models import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- (
10
- "plainoauth",
11
- "0006_remove_oauthconnection_unique_oauth_provider_user_id_and_more",
12
- ),
13
- ]
14
-
15
- operations = [
16
- migrations.AlterField(
17
- model_name="oauthconnection",
18
- name="provider_key",
19
- field=models.CharField(max_length=100),
20
- ),
21
- migrations.AlterField(
22
- model_name="oauthconnection",
23
- name="provider_user_id",
24
- field=models.CharField(max_length=100),
25
- ),
26
- ]
File without changes
File without changes
File without changes