bb-plane-fork/apiserver/plane
Nikhil b8043f92b1
[WEB-4373]: optimize backend query for workspace views and Project gantt view (#7267)
* feat: add IssueListDetailSerializer for detailed issue representation

- Introduced IssueListDetailSerializer to enhance issue data representation with expanded fields.
- Updated issue detail endpoint to utilize the new serializer for improved data handling.
- Added methods for retrieving related module, label, and assignee IDs, along with support for expanded relations.

* feat: add ViewIssueListSerializer and enhance issue ordering

- Introduced ViewIssueListSerializer for improved issue representation, including assignee, label, and module IDs.
- Updated WorkspaceViewIssuesViewSet to utilize the new serializer and optimized queryset with prefetching.
- Enhanced order_issue_queryset to maintain consistent ordering by created_at alongside other fields.
- Modified pagination logic to support total count retrieval for better performance.

* fix: optimize issue filtering and pagination logic

- Updated WorkspaceViewIssuesViewSet to apply filters more efficiently in the issue query.
- Refined pagination logic in OffsetPaginator to ensure consistent behavior using limit instead of cursor.value, improving overall pagination accuracy.

* fix: improve pagination logic in OffsetPaginator

- Updated the next_cursor calculation to use the length of results instead of cursor.value, ensuring accurate pagination behavior.
- Added a comment to clarify the purpose of checking for additional results after the current page.

* Move the common permission filters into a separate method

* fix: handle deleted related issues in serializers

- Updated IssueListDetailSerializer to skip null related issues when building relations.
- Enhanced ViewIssueListSerializer to safely access state.group, returning None if state is not present.
- Removed unused User import in base.py for cleaner code.

---------

Co-authored-by: Dheeraj Kumar Ketireddy <dheeru0198@gmail.com>
2025-06-25 19:10:24 +05:30
..
analytics chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30
api [WEB 4252] chore: updated the favicon request for work item link (#7173) 2025-06-06 15:02:00 +05:30
app [WEB-4373]: optimize backend query for workspace views and Project gantt view (#7267) 2025-06-25 19:10:24 +05:30
authentication [WEB-3707] pytest based test suite for apiserver (#7010) 2025-05-26 15:26:26 +05:30
bgtasks [WEB-4063]chore: updated work item email template (#7044) 2025-06-08 23:46:12 +05:30
db [SILO-303] Add external id and external source in project model #7182 2025-06-09 16:02:09 +05:30
license [WEB-4146] fix: AI environment variables configuration in GodMode (#7104) 2025-05-23 15:06:58 +05:30
middleware [WEB-4144] fix: api logger to handle content decode errors #7099 2025-05-23 15:31:40 +05:30
seeds/data [WEB-3945] chore: update workspace onboarding to add default project (#6964) 2025-04-29 14:01:22 +05:30
settings fix: ruff file formatting based on config file pyproject (#7082) 2025-05-19 17:34:46 +05:30
space [WEB-4115] fix: update issue count status query to handle null values #7080 2025-05-23 16:13:48 +05:30
static build: merge frontend and backend into a single repo 2022-11-30 02:47:42 +05:30
tests [WEB-4327] Chore PAT permissions (#7224) 2025-06-18 16:08:11 +05:30
utils [WEB-4373]: optimize backend query for workspace views and Project gantt view (#7267) 2025-06-25 19:10:24 +05:30
web chore: adding robots txt file for not indexing the server 2025-05-09 21:07:24 +05:30
__init__.py chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30
asgi.py chore: formatting changes 2024-11-21 17:42:44 +05:30
celery.py [WEB-3927] chore: add logging to support json logging (#6955) 2025-04-22 17:41:58 +05:30
urls.py chore: adding robots txt file for not indexing the server 2025-05-09 21:07:24 +05:30
wsgi.py chore: formatting all python files using black formatter (#3366) 2024-01-22 13:19:43 +05:30