first
This commit is contained in:
commit
89a5d70512
284 files changed
+8364
No files matched your search
@@ -0,0 +1,73 @@
|
||||
from apps.customer.models import ShiveAshenaei as ShiveAshenaeiModel
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework import generics
|
||||
from utils.get_user_workspace import get_user_workspace_uuid, get_user_workspace
|
||||
from utils import custom_permissions
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework import serializers
|
||||
from apps.customer.services import create_shive_ashenaei, delete_shive_ashenaei
|
||||
from apps.customer.selectors import list_shive_ashenaei, retrieve_shive_ashenaei
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import status
|
||||
|
||||
|
||||
class ShiveAshenaeiCreateApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceAdminPermission)
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
name = serializers.CharField(max_length=20)
|
||||
|
||||
def post(self, request):
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
user_workspace = get_user_workspace(request=request)
|
||||
name = serializer.validated_data.get
|
||||
|
||||
create_shive_ashenaei(name=name, workspace=user_workspace)
|
||||
|
||||
return Response(status=status.HTTP_201_CREATED)
|
||||
|
||||
|
||||
class ShiveAshenaeiDeleteApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceAdminPermission)
|
||||
|
||||
def delete(self, request, shive_id: int):
|
||||
|
||||
user_workspace_uuid = get_user_workspace_uuid(request=request)
|
||||
delete_shive_ashenaei(shive_id=shive_id, workspace_uuid=user_workspace_uuid)
|
||||
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class ShiveAshenaeiRetrieveApi(APIView):
|
||||
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission, )
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ShiveAshenaeiModel
|
||||
fields = '__all__'
|
||||
|
||||
def get(self, request, shive_id: int):
|
||||
|
||||
user_workspace_uuid = get_user_workspace_uuid(request)
|
||||
responsible_group_obj = retrieve_shive_ashenaei(shive_id=shive_id, workspace_uuid=user_workspace_uuid)
|
||||
|
||||
output = self.OutputSerializer(responsible_group_obj)
|
||||
return Response(data=output.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class ShiveAshenaeiListApi(generics.ListAPIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ShiveAshenaeiModel
|
||||
fields = '__all__'
|
||||
|
||||
serializer_class = OutputSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
user_workspace_uuid = get_user_workspace_uuid(self.request)
|
||||
return list_shive_ashenaei(workspace_uuid=user_workspace_uuid)
|
||||
Reference in new issue
Block a user