Merge pull request #2542 from plind-dm/fix/heartbeat-context-attachments

fix(api): include attachment metadata in heartbeat-context response
This commit is contained in:
Dotta 2026-04-06 08:55:49 -05:00 committed by GitHub
commit c5f3b8e40a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View file

@ -10,6 +10,7 @@ const mockIssueService = vi.hoisted(() => ({
findMentionedProjectIds: vi.fn(),
getCommentCursor: vi.fn(),
getComment: vi.fn(),
listAttachments: vi.fn(),
}));
const mockProjectService = vi.hoisted(() => ({
@ -129,6 +130,7 @@ describe("issue goal context routes", () => {
latestCommentAt: null,
});
mockIssueService.getComment.mockResolvedValue(null);
mockIssueService.listAttachments.mockResolvedValue([]);
mockProjectService.getById.mockResolvedValue({
id: legacyProjectLinkedIssue.projectId,
companyId: "company-1",
@ -197,5 +199,6 @@ describe("issue goal context routes", () => {
}),
);
expect(mockGoalService.getDefaultCompanyGoal).not.toHaveBeenCalled();
expect(res.body.attachments).toEqual([]);
});
});

View file

@ -482,11 +482,12 @@ export function issueRoutes(
? req.query.wakeCommentId.trim()
: null;
const [{ project, goal }, ancestors, commentCursor, wakeComment] = await Promise.all([
const [{ project, goal }, ancestors, commentCursor, wakeComment, attachments] = await Promise.all([
resolveIssueProjectAndGoal(issue),
svc.getAncestors(issue.id),
svc.getCommentCursor(issue.id),
wakeCommentId ? svc.getComment(wakeCommentId) : null,
svc.listAttachments(issue.id),
]);
res.json({
@ -533,6 +534,14 @@ export function issueRoutes(
wakeComment && wakeComment.issueId === issue.id
? wakeComment
: null,
attachments: attachments.map((a) => ({
id: a.id,
filename: a.originalFilename,
contentType: a.contentType,
byteSize: a.byteSize,
contentPath: withContentPath(a).contentPath,
createdAt: a.createdAt,
})),
});
});