logout api and sonar

This commit is contained in:
jain
2023-07-11 22:34:59 +05:30
parent 7e7367e3a4
commit 18cb975d94
11 changed files with 51 additions and 16 deletions

View File

@ -8,6 +8,7 @@ import logging
from django.views.decorators.csrf import csrf_exempt
from django.utils import timezone
import jwt
from django.contrib.auth import logout
"""App Import"""
from guardian.utils import upload_image_to_alibaba
from django.contrib.auth import authenticate, login
@ -30,8 +31,8 @@ from templated_email import send_templated_mail
import google.oauth2.credentials
import google.auth.transport.requests
from rest_framework import status
from rest_framework.response import Response
import requests
from rest_framework.response import Response
from django.conf import settings
from junior.serializers import JuniorProfileSerializer
from guardian.serializers import GuardianProfileSerializer
@ -97,9 +98,11 @@ class GoogleLoginMixin:
class GoogleLoginViewSet(GoogleLoginMixin, viewsets.GenericViewSet):
"""Google login viewset"""
serializer_class = GoogleLoginSerializer
def create(self, request):
"""create method"""
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
return self.google_login(request)
@ -142,6 +145,7 @@ class SigninWithApple(views.APIView):
class UpdateProfileImage(views.APIView):
"""Update profile image"""
permission_classes = [IsAuthenticated]
def put(self, request, format=None):
if str(request.data['user_type']) == '1':
@ -166,6 +170,7 @@ class UpdateProfileImage(views.APIView):
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
class ChangePasswordAPIView(views.APIView):
"""change password"""
serializer_class = ChangePasswordSerializer
permission_classes = [IsAuthenticated]
def post(self, request):
@ -176,6 +181,7 @@ class ChangePasswordAPIView(views.APIView):
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
class ResetPasswordAPIView(views.APIView):
"""Reset password"""
def post(self, request):
serializer = ResetPasswordSerializer(data=request.data)
if serializer.is_valid():
@ -184,6 +190,7 @@ class ResetPasswordAPIView(views.APIView):
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
class ForgotPasswordAPIView(views.APIView):
"""Forgot password"""
def post(self, request):
serializer = ForgotPasswordSerializer(data=request.data)
if serializer.is_valid():
@ -255,6 +262,7 @@ class UserPhoneVerification(viewsets.ModelViewSet):
class UserLogin(viewsets.ViewSet):
"""User login"""
@action(methods=['post'], detail=False)
def login(self, request):
username = request.data.get('username')
@ -471,6 +479,7 @@ class UpdateUserNotificationAPIViewSet(viewsets.ModelViewSet):
class SendSupportEmail(views.APIView):
"""support email api"""
def post(self, request):
name = request.data.get('name')
sender = request.data.get('email')
@ -484,3 +493,12 @@ class SendSupportEmail(views.APIView):
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
else:
return custom_error_response(ERROR_CODE['2033'], response_status=status.HTTP_400_BAD_REQUEST)
class LogoutAPIView(views.APIView):
permission_classes = (IsAuthenticated,)
def post(self, request):
logout(request)
request.session.flush()
return custom_response(SUCCESS_CODE['3020'], response_status=status.HTTP_200_OK)