From 4761d4e0e9aae3edd80cab6824beb23b9da8a458 Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Mon, 22 Jan 2024 13:29:31 +0530 Subject: [PATCH] fix: state response change --- apiserver/plane/app/views/issue.py | 19 +++++++++++++------ apiserver/plane/app/views/state.py | 4 +++- apiserver/plane/app/views/workspace.py | 12 ++++++++++-- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/apiserver/plane/app/views/issue.py b/apiserver/plane/app/views/issue.py index cd31cc39b..1d3be0355 100644 --- a/apiserver/plane/app/views/issue.py +++ b/apiserver/plane/app/views/issue.py @@ -83,6 +83,7 @@ from plane.utils.grouper import group_results from plane.utils.issue_filters import issue_filters from collections import defaultdict + class IssueViewSet(WebhookMixin, BaseViewSet): def get_serializer_class(self): return ( @@ -711,10 +712,15 @@ class LabelViewSet(BaseViewSet): def list(self, request, slug, project_id): labels = Label.objects.filter( - workspace__slug=slug, - project_id=project_id + workspace__slug=slug, project_id=project_id ).values( - "parent", "name", "color", "id", "project_id", "workspace__slug" + "parent", + "name", + "color", + "id", + "project_id", + "workspace__slug", + "sort_order", ) return Response(labels, status=status.HTTP_200_OK) @@ -830,7 +836,9 @@ class SubIssuesEndpoint(BaseAPIView): _ = Issue.objects.bulk_update(sub_issues, ["parent"], batch_size=10) - updated_sub_issues = Issue.issue_objects.filter(id__in=sub_issue_ids).annotate(state_group=F("state__group")) + updated_sub_issues = Issue.issue_objects.filter( + id__in=sub_issue_ids + ).annotate(state_group=F("state__group")) # Track the issue _ = [ @@ -845,7 +853,7 @@ class SubIssuesEndpoint(BaseAPIView): ) for sub_issue_id in sub_issue_ids ] - + # create's a dict with state group name with their respective issue id's result = defaultdict(list) for sub_issue in updated_sub_issues: @@ -862,7 +870,6 @@ class SubIssuesEndpoint(BaseAPIView): }, status=status.HTTP_200_OK, ) - class IssueLinkViewSet(BaseViewSet): diff --git a/apiserver/plane/app/views/state.py b/apiserver/plane/app/views/state.py index 2a4312e6b..232d19aee 100644 --- a/apiserver/plane/app/views/state.py +++ b/apiserver/plane/app/views/state.py @@ -49,7 +49,9 @@ class StateViewSet(BaseViewSet): return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) def list(self, request, slug, project_id): - states = StateSerializer(self.get_queryset(), many=True).data + states = State.objects.filter(workspace__slug=slug, project_id=project_id).values( + "id", "project_id", "workspace__slug", "name", "color", "group" + ) grouped = request.GET.get("grouped", False) if grouped == "true": state_dict = {} diff --git a/apiserver/plane/app/views/workspace.py b/apiserver/plane/app/views/workspace.py index 758c834f5..be89eedbb 100644 --- a/apiserver/plane/app/views/workspace.py +++ b/apiserver/plane/app/views/workspace.py @@ -1362,7 +1362,9 @@ class WorkspaceUserProfileIssuesEndpoint(BaseAPIView): .values("count") ) .annotate( - sub_issues_count=Issue.issue_objects.filter(parent=OuterRef("id")) + sub_issues_count=Issue.issue_objects.filter( + parent=OuterRef("id") + ) .order_by() .annotate(count=Func(F("id"), function="Count")) .values("count") @@ -1446,7 +1448,13 @@ class WorkspaceLabelsEndpoint(BaseAPIView): workspace__slug=slug, project__project_projectmember__member=request.user, ).values( - "parent", "name", "color", "id", "project_id", "workspace__slug" + "parent", + "name", + "color", + "id", + "project_id", + "workspace__slug", + "sort_order", ) return Response(labels, status=status.HTTP_200_OK)