from rest_framework.views import APIView from rest_framework import status from rest_framework.response import Response from rest_framework import serializers from apps.customer.services import customer_panel_access from rest_framework.permissions import IsAuthenticated from utils import custom_permissions class CustomerPanelApi(APIView): permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission) class InputSerializer(serializers.Serializer): mobile = serializers.IntegerField(required=True) customer_id = serializers.IntegerField(required=True) status = serializers.BooleanField(required=True) def post(self, request): serializer = self.InputSerializer(data=request.data) serializer.is_valid(raise_exception=True) cuser_role = customer_panel_access(request=request, **serializer.validated_data) return Response(data={'cuser_role_id': cuser_role.id if cuser_role else None}, status=status.HTTP_200_OK)