@ -35,17 +35,21 @@ class CustomAuthToken(APIView):
token , created = Token . objects . get_or_create ( user = user )
token , created = Token . objects . get_or_create ( user = user )
return Response ( { ' token ' : token . key } )
return Response ( { ' token ' : token . key } )
else :
else :
return Response ( { ' error ' : ' Cannot log on another device ' } , status = status . HTTP_403_FORBIDDEN )
return Response ( { ' error ' : ' Vous ne pouvez pour l \' instant vous connecter sur plusieurs appareils en même temps. Veuillez vous déconnecter du précédent appareil. Autrement, veuillez contacter le support. ' } , status = status . HTTP_403_FORBIDDEN )
else :
else :
return Response ( { ' error ' : ' Invalid Credential s' } , status = status . HTTP_401_UNAUTHORIZED )
return Response ( { ' error ' : ' L \' utilisateur et le mot de passe de correspondent pa s' } , status = status . HTTP_401_UNAUTHORIZED )
class Logout ( APIView ) :
class Logout ( APIView ) :
permission_classes = ( IsAuthenticated , )
permission_classes = ( IsAuthenticated , )
def post ( self , request , * args , * * kwargs ) :
def post ( self , request , * args , * * kwargs ) :
request . user . auth_token . delete ( )
request . user . auth_token . delete ( )
device_id = request . data . get ( ' device_id ' )
if request . user . device_id == device_id :
request . user . device_id = None
request . user . device_id = None
request . user . save ( )
request . user . save ( )
return Response ( status = status . HTTP_200_OK )
return Response ( status = status . HTTP_200_OK )
@api_view ( [ ' GET ' ] )
@api_view ( [ ' GET ' ] )