Compare commits

...

3 Commits

Author SHA1 Message Date
pablohashescobar
7dc6800444 dev: remove triage states from public boards 2023-08-31 13:47:32 +05:30
pablohashescobar
cf706b7977 dev: optimize public issues list endpoint 2023-08-30 19:01:09 +05:30
pablohashescobar
a50cf266bd chore: return issue votes in public issue list endpoint 2023-08-30 18:43:24 +05:30
2 changed files with 11 additions and 2 deletions

View File

@@ -561,7 +561,7 @@ class CommentReactionSerializer(BaseSerializer):
class IssueVoteSerializer(BaseSerializer):
class Meta:
model = IssueVote
fields = ["issue", "vote", "workspace_id", "project_id", "actor"]
fields = ["issue", "vote", "workspace", "project", "actor",]
read_only_fields = fields
@@ -681,6 +681,7 @@ class IssuePublicSerializer(BaseSerializer):
project_detail = ProjectLiteSerializer(read_only=True, source="project")
state_detail = StateLiteSerializer(read_only=True, source="state")
issue_reactions = IssueReactionLiteSerializer(read_only=True, many=True)
votes = IssueVoteSerializer(read_only=True, many=True)
class Meta:
model = Issue
@@ -697,6 +698,7 @@ class IssuePublicSerializer(BaseSerializer):
"priority",
"target_date",
"issue_reactions",
"votes",
]
read_only_fields = fields

View File

@@ -2060,6 +2060,12 @@ class ProjectIssuesPublicEndpoint(BaseAPIView):
queryset=IssueReaction.objects.select_related("actor"),
)
)
.prefetch_related(
Prefetch(
"votes",
queryset=IssueVote.objects.select_related("actor"),
)
)
.filter(**filters)
.annotate(cycle_id=F("issue_cycle__cycle_id"))
.annotate(module_id=F("issue_module__module_id"))
@@ -2140,7 +2146,8 @@ class ProjectIssuesPublicEndpoint(BaseAPIView):
issues = IssuePublicSerializer(issue_queryset, many=True).data
states = State.objects.filter(
workspace__slug=slug, project_id=project_id
~Q(name="Triage"),
workspace__slug=slug, project_id=project_id,
).values("name", "group", "color", "id")
labels = Label.objects.filter(