99
1010
1111def _generate_jwt_token (user ):
12- token = jwt .encode ({
13- 'id' : user .pk ,
14- 'exp' : datetime . utcnow () + timedelta ( days = 7 )
15- }, settings . SECRET_KEY )
12+ token = jwt .encode (
13+ { "id" : user .pk , "exp" : datetime . utcnow () + timedelta ( days = 7 )} ,
14+ settings . SECRET_KEY ,
15+ )
1616
1717 return token
1818
@@ -23,62 +23,43 @@ class LoginSerializer(serializers.Serializer):
2323 password = serializers .CharField (max_length = 128 , write_only = True )
2424
2525 def validate (self , data ):
26- email = data .get (' email' , None )
27- password = data .get (' password' , None )
26+ email = data .get (" email" , None )
27+ password = data .get (" password" , None )
2828
2929 if email is None :
3030 raise serializers .ValidationError (
31- {
32- "success" : False ,
33- "msg" : "Email is required to login"
34- }
31+ {"success" : False , "msg" : "Email is required to login" }
3532 )
3633 if password is None :
3734 raise serializers .ValidationError (
38- {
39- "success" : False ,
40- "msg" : "Password is required to log in."
41- }
35+ {"success" : False , "msg" : "Password is required to log in." }
4236 )
4337 user = authenticate (username = email , password = password )
4438
4539 if user is None :
4640 raise serializers .ValidationError (
47- {
48- "success" : False ,
49- "msg" : "Wrong credentials"
50- }
41+ {"success" : False , "msg" : "Wrong credentials" }
5142 )
5243
5344 if not user .is_active :
5445 raise serializers .ValidationError (
55- {
56- "success" : False ,
57- "msg" : "User is not active"
58- }
46+ {"success" : False , "msg" : "User is not active" }
5947 )
6048
6149 try :
62- session = ActiveSession .objects .get (
63- user = user
64- )
50+ session = ActiveSession .objects .get (user = user )
6551 if not session .token :
6652 raise ValueError
6753
6854 jwt .decode (session .token , settings .SECRET_KEY , algorithms = ["HS256" ])
6955
7056 except (ObjectDoesNotExist , ValueError , jwt .ExpiredSignatureError ):
7157 session = ActiveSession .objects .create (
72- user = user ,
73- token = _generate_jwt_token (user )
58+ user = user , token = _generate_jwt_token (user )
7459 )
7560
7661 return {
7762 "success" : True ,
7863 "token" : session .token ,
79- "user" : {
80- "_id" : user .pk ,
81- "username" : user .username ,
82- "email" : user .email
83- }
64+ "user" : {"_id" : user .pk , "username" : user .username , "email" : user .email },
8465 }
0 commit comments