Skip to content

Commit c7a5685

Browse files
pablohashescobarea-open-source
authored andcommitted
fix: issue serializer to remove deleted labels and assignees (makeplane#6241)
1 parent e2bcfd3 commit c7a5685

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

apiserver/plane/api/serializers/issue.py

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,17 +237,37 @@ def to_representation(self, instance):
237237
from .user import UserLiteSerializer
238238

239239
data["assignees"] = UserLiteSerializer(
240-
instance.assignees.all(), many=True
240+
User.objects.filter(
241+
pk__in=IssueAssignee.objects.filter(issue=instance).values_list(
242+
"assignee_id", flat=True
243+
)
244+
),
245+
many=True,
241246
).data
242247
else:
243248
data["assignees"] = [
244-
str(assignee.id) for assignee in instance.assignees.all()
249+
str(assignee)
250+
for assignee in IssueAssignee.objects.filter(
251+
issue=instance
252+
).values_list("assignee_id", flat=True)
245253
]
246254
if "labels" in self.fields:
247255
if "labels" in self.expand:
248-
data["labels"] = LabelSerializer(instance.labels.all(), many=True).data
256+
data["labels"] = LabelSerializer(
257+
Label.objects.filter(
258+
pk__in=IssueLabel.objects.filter(issue=instance).values_list(
259+
"label_id", flat=True
260+
)
261+
),
262+
many=True,
263+
).data
249264
else:
250-
data["labels"] = [str(label.id) for label in instance.labels.all()]
265+
data["labels"] = [
266+
str(label)
267+
for label in IssueLabel.objects.filter(issue=instance).values_list(
268+
"label_id", flat=True
269+
)
270+
]
251271

252272
return data
253273

0 commit comments

Comments
 (0)