File tree Expand file tree Collapse file tree 2 files changed +18
-12
lines changed Expand file tree Collapse file tree 2 files changed +18
-12
lines changed Original file line number Diff line number Diff line change 17
17
from django_prometheus .models import ExportModelOperationsMixin
18
18
from netfields import CidrAddressField , NetManager
19
19
20
+ from .users import User
21
+
20
22
21
23
class Token (ExportModelOperationsMixin ("Token" ), rest_framework .authtoken .models .Token ):
22
24
@staticmethod
@@ -100,6 +102,17 @@ def delete(self):
100
102
self .tokendomainpolicy_set .filter (domain__isnull = True ).delete ()
101
103
return super ().delete ()
102
104
105
+ @classmethod
106
+ def create_login_token (cls , user : User ):
107
+ token = cls .objects .create (
108
+ user = user ,
109
+ perm_manage_tokens = True ,
110
+ max_age = timedelta (days = 7 ),
111
+ max_unused_period = timedelta (hours = 1 ),
112
+ mfa = False ,
113
+ )
114
+ return token
115
+
103
116
104
117
@pgtrigger .register (
105
118
# Ensure that token_user is consistent with token
Original file line number Diff line number Diff line change 1
- from datetime import timedelta
2
-
3
1
from django .conf import settings
4
2
from django .contrib .auth import user_logged_in
5
3
from rest_framework import generics , mixins , status
@@ -99,16 +97,11 @@ class AccountLoginView(generics.GenericAPIView):
99
97
100
98
def post (self , request , * args , ** kwargs ):
101
99
user = self .request .user
102
- token = Token .objects .create (
103
- user = user ,
104
- perm_manage_tokens = True ,
105
- max_age = timedelta (days = 7 ),
106
- max_unused_period = timedelta (hours = 1 ),
107
- mfa = False ,
108
- )
109
- user_logged_in .send (sender = user .__class__ , request = self .request , user = user )
110
-
111
- data = self .get_serializer (token , include_plain = True ).data
100
+ data = self .get_serializer (
101
+ Token .create_login_token (user ),
102
+ include_plain = True
103
+ ).data
104
+ user_logged_in .send (sender = user .__class__ , request = request , user = user )
112
105
return Response (data )
113
106
114
107
You can’t perform that action at this time.
0 commit comments