""" 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'])