change password api

This commit is contained in:
abutalib-kiwi
2023-07-26 17:04:35 +05:30
parent bca0d8d49b
commit 87aa1af02b
3 changed files with 122 additions and 22 deletions

View File

@ -2,26 +2,32 @@
web_admin auth views file
"""
# django imports
from rest_framework.viewsets import GenericViewSet, mixins
from rest_framework.viewsets import GenericViewSet
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
from base.messages import SUCCESS_CODE
from web_admin.serializers.auth_serializer import (AdminForgotPasswordSerializer, AdminVerifyOTPSerializer,
AdminCreatePasswordSerializer)
USER = get_user_model()
class ForgetAndResetPasswordViewSet(GenericViewSet):
class ForgotAndResetPasswordViewSet(GenericViewSet):
"""
to reset admin password
"""
queryset = None
@action(methods=['post'], url_name='forgot-password', url_path='forgot-password',
detail=False, serializer_class=AdminForgotPasswordSerializer)
def admin_forgot_password(self, request):
"""
api method to send otp
:return: success message
"""
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
@ -30,6 +36,10 @@ class ForgetAndResetPasswordViewSet(GenericViewSet):
@action(methods=['post'], url_name='verify-otp', url_path='verify-otp',
detail=False, serializer_class=AdminVerifyOTPSerializer)
def admin_verify_otp(self, request):
"""
api method to verify otp
:return: success message
"""
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return custom_response(SUCCESS_CODE['3011'])
@ -37,7 +47,23 @@ class ForgetAndResetPasswordViewSet(GenericViewSet):
@action(methods=['post'], url_name='resend-otp', url_path='resend-otp',
detail=False, serializer_class=AdminForgotPasswordSerializer)
def admin_resend_otp(self, request):
"""
api method to resend otp
:return: success message
"""
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='create-password', url_path='create-password',
detail=False, serializer_class=AdminCreatePasswordSerializer)
def admin_create_password(self, request):
"""
api method to create new password
:return: success message
"""
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return custom_response(SUCCESS_CODE['3007'])