added api for forgot password, verify otp and resend otp for admin

This commit is contained in:
abutalib-kiwi
2023-07-25 19:39:01 +05:30
parent 32476149bc
commit 7bf0e62604
9 changed files with 141 additions and 5 deletions

43
web_admin/views/auth.py Normal file
View File

@ -0,0 +1,43 @@
"""
web_admin auth views file
"""
# django imports
from rest_framework.viewsets import GenericViewSet, mixins
from rest_framework.decorators import action
from django.contrib.auth import get_user_model
# local imports
from account.utils import custom_response
from base.constants import USER_TYPE
from base.messages import SUCCESS_CODE, ERROR_CODE
from web_admin.permission import AdminPermission
from web_admin.serializers.auth_serializer import AdminForgotPasswordSerializer, AdminVerifyOTPSerializer
USER = get_user_model()
class ForgetAndResetPasswordViewSet(GenericViewSet):
queryset = None
@action(methods=['post'], url_name='forgot-password', url_path='forgot-password',
detail=False, serializer_class=AdminForgotPasswordSerializer)
def admin_forgot_password(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return custom_response(SUCCESS_CODE['3015'])
@action(methods=['post'], url_name='verify-otp', url_path='verify-otp',
detail=False, serializer_class=AdminVerifyOTPSerializer)
def admin_verify_otp(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return custom_response(SUCCESS_CODE['3011'])
@action(methods=['post'], url_name='resend-otp', url_path='resend-otp',
detail=False, serializer_class=AdminForgotPasswordSerializer)
def admin_resend_otp(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return custom_response(SUCCESS_CODE['3015'])