Skip to content

Commit 35fb8c4

Browse files
committed
Type annotations for plain-oauth
1 parent 001d427 commit 35fb8c4

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

plain-oauth/plain/oauth/models.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import TYPE_CHECKING
1+
from typing import TYPE_CHECKING, Any
22

33
from plain import models
44
from plain.auth import get_user_model
@@ -50,7 +50,7 @@ class Meta:
5050
]
5151
ordering = ("provider_key",)
5252

53-
def __str__(self):
53+
def __str__(self) -> str:
5454
return f"{self.provider_key}[{self.user}:{self.provider_user_id}]"
5555

5656
def refresh_access_token(self) -> None:
@@ -69,13 +69,13 @@ def refresh_access_token(self) -> None:
6969
self.set_token_fields(refreshed_oauth_token)
7070
self.save()
7171

72-
def set_token_fields(self, oauth_token: "OAuthToken"):
72+
def set_token_fields(self, oauth_token: "OAuthToken") -> None:
7373
self.access_token = oauth_token.access_token
7474
self.refresh_token = oauth_token.refresh_token
7575
self.access_token_expires_at = oauth_token.access_token_expires_at
7676
self.refresh_token_expires_at = oauth_token.refresh_token_expires_at
7777

78-
def set_user_fields(self, oauth_user: "OAuthUser"):
78+
def set_user_fields(self, oauth_user: "OAuthUser") -> None:
7979
self.provider_user_id = oauth_user.provider_id
8080

8181
def access_token_expired(self) -> bool:
@@ -125,7 +125,7 @@ def get_or_create_user(
125125
def connect(
126126
cls,
127127
*,
128-
user,
128+
user: Any,
129129
provider_key: str,
130130
oauth_token: "OAuthToken",
131131
oauth_user: "OAuthUser",
@@ -155,7 +155,7 @@ def connect(
155155
return connection
156156

157157
@classmethod
158-
def preflight(cls):
158+
def preflight(cls) -> list[PreflightResult]:
159159
"""
160160
A system check for ensuring that provider_keys in the database are also present in settings.
161161
"""

plain-oauth/plain/oauth/providers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def __init__(self, *, provider_id: str, user_model_fields: dict | None = None):
4040
self.provider_id = provider_id # ID on the provider's system
4141
self.user_model_fields = user_model_fields or {}
4242

43-
def __str__(self):
43+
def __str__(self) -> str:
4444
if "email" in self.user_model_fields:
4545
return self.user_model_fields["email"]
4646
if "username" in self.user_model_fields:

plain-oauth/plain/oauth/views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from plain.auth.requests import get_request_user
44
from plain.auth.views import AuthViewMixin
5-
from plain.http import ResponseRedirect
5+
from plain.http import Response, ResponseRedirect
66
from plain.views import TemplateView, View
77

88
from .exceptions import (
@@ -14,7 +14,7 @@
1414

1515

1616
class OAuthLoginView(View):
17-
def post(self):
17+
def post(self) -> Response:
1818
request = self.request
1919
provider = self.url_kwargs["provider"]
2020
if get_request_user(request):
@@ -31,7 +31,7 @@ class OAuthCallbackView(TemplateView):
3131

3232
template_name = "oauth/callback.html"
3333

34-
def get(self):
34+
def get(self) -> Response:
3535
provider = self.url_kwargs["provider"]
3636
provider_instance = get_oauth_provider_instance(provider_key=provider)
3737
try:
@@ -51,15 +51,15 @@ def get_template_context(self) -> dict:
5151

5252

5353
class OAuthConnectView(AuthViewMixin, View):
54-
def post(self):
54+
def post(self) -> Response:
5555
request = self.request
5656
provider = self.url_kwargs["provider"]
5757
provider_instance = get_oauth_provider_instance(provider_key=provider)
5858
return provider_instance.handle_connect_request(request=request)
5959

6060

6161
class OAuthDisconnectView(AuthViewMixin, View):
62-
def post(self):
62+
def post(self) -> Response:
6363
request = self.request
6464
provider = self.url_kwargs["provider"]
6565
provider_instance = get_oauth_provider_instance(provider_key=provider)

scripts/type-validate

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ FULLY_TYPED_DIRS = [
2626
"plain-flags/plain/flags",
2727
"plain-htmx/plain/htmx",
2828
"plain-loginlink/plain/loginlink",
29+
"plain-oauth/plain/oauth",
2930
"plain-sessions/plain/sessions",
3031
]
3132

0 commit comments

Comments
 (0)