From 916fca53ac666520ecdcc591b240a5eb095de3cf Mon Sep 17 00:00:00 2001 From: Nikhil <118773738+pablohashescobar@users.noreply.github.com> Date: Tue, 25 Jul 2023 14:23:41 +0530 Subject: [PATCH] chore: project identifier for all the search items and take project id as query params (#1663) --- apiserver/plane/api/urls.py | 2 +- apiserver/plane/api/views/search.py | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apiserver/plane/api/urls.py b/apiserver/plane/api/urls.py index 04bbc2a47b..4280b1e592 100644 --- a/apiserver/plane/api/urls.py +++ b/apiserver/plane/api/urls.py @@ -1240,7 +1240,7 @@ urlpatterns = [ ## End Importer # Search path( - "workspaces//projects//search/", + "workspaces//search/", GlobalSearchEndpoint.as_view(), name="global-search", ), diff --git a/apiserver/plane/api/views/search.py b/apiserver/plane/api/views/search.py index d3bcbc532e..0a8c5c5306 100644 --- a/apiserver/plane/api/views/search.py +++ b/apiserver/plane/api/views/search.py @@ -63,7 +63,7 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: issues = issues.filter(project_id=project_id) return issues.distinct().values( @@ -87,13 +87,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: cycles = cycles.filter(project_id=project_id) return cycles.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -109,13 +110,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: modules = modules.filter(project_id=project_id) return modules.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -131,13 +133,14 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: pages = pages.filter(project_id=project_id) return pages.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) @@ -153,20 +156,22 @@ class GlobalSearchEndpoint(BaseAPIView): workspace__slug=slug, ) - if workspace_search == "false": + if workspace_search == "false" and project_id: issue_views = issue_views.filter(project_id=project_id) return issue_views.distinct().values( "name", "id", "project_id", + "project__identifier", "workspace__slug", ) - def get(self, request, slug, project_id): + def get(self, request, slug): try: query = request.query_params.get("search", False) workspace_search = request.query_params.get("workspace_search", "false") + project_id = request.query_params.get("project_id", False) if not query: return Response(