mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-18 19:50:38 +09:00
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:
commit
c5f3b8e40a
2 changed files with 13 additions and 1 deletions
|
|
@ -10,6 +10,7 @@ const mockIssueService = vi.hoisted(() => ({
|
||||||
findMentionedProjectIds: vi.fn(),
|
findMentionedProjectIds: vi.fn(),
|
||||||
getCommentCursor: vi.fn(),
|
getCommentCursor: vi.fn(),
|
||||||
getComment: vi.fn(),
|
getComment: vi.fn(),
|
||||||
|
listAttachments: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const mockProjectService = vi.hoisted(() => ({
|
const mockProjectService = vi.hoisted(() => ({
|
||||||
|
|
@ -129,6 +130,7 @@ describe("issue goal context routes", () => {
|
||||||
latestCommentAt: null,
|
latestCommentAt: null,
|
||||||
});
|
});
|
||||||
mockIssueService.getComment.mockResolvedValue(null);
|
mockIssueService.getComment.mockResolvedValue(null);
|
||||||
|
mockIssueService.listAttachments.mockResolvedValue([]);
|
||||||
mockProjectService.getById.mockResolvedValue({
|
mockProjectService.getById.mockResolvedValue({
|
||||||
id: legacyProjectLinkedIssue.projectId,
|
id: legacyProjectLinkedIssue.projectId,
|
||||||
companyId: "company-1",
|
companyId: "company-1",
|
||||||
|
|
@ -197,5 +199,6 @@ describe("issue goal context routes", () => {
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
expect(mockGoalService.getDefaultCompanyGoal).not.toHaveBeenCalled();
|
expect(mockGoalService.getDefaultCompanyGoal).not.toHaveBeenCalled();
|
||||||
|
expect(res.body.attachments).toEqual([]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -482,11 +482,12 @@ export function issueRoutes(
|
||||||
? req.query.wakeCommentId.trim()
|
? req.query.wakeCommentId.trim()
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
const [{ project, goal }, ancestors, commentCursor, wakeComment] = await Promise.all([
|
const [{ project, goal }, ancestors, commentCursor, wakeComment, attachments] = await Promise.all([
|
||||||
resolveIssueProjectAndGoal(issue),
|
resolveIssueProjectAndGoal(issue),
|
||||||
svc.getAncestors(issue.id),
|
svc.getAncestors(issue.id),
|
||||||
svc.getCommentCursor(issue.id),
|
svc.getCommentCursor(issue.id),
|
||||||
wakeCommentId ? svc.getComment(wakeCommentId) : null,
|
wakeCommentId ? svc.getComment(wakeCommentId) : null,
|
||||||
|
svc.listAttachments(issue.id),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
|
|
@ -533,6 +534,14 @@ export function issueRoutes(
|
||||||
wakeComment && wakeComment.issueId === issue.id
|
wakeComment && wakeComment.issueId === issue.id
|
||||||
? wakeComment
|
? wakeComment
|
||||||
: null,
|
: null,
|
||||||
|
attachments: attachments.map((a) => ({
|
||||||
|
id: a.id,
|
||||||
|
filename: a.originalFilename,
|
||||||
|
contentType: a.contentType,
|
||||||
|
byteSize: a.byteSize,
|
||||||
|
contentPath: withContentPath(a).contentPath,
|
||||||
|
createdAt: a.createdAt,
|
||||||
|
})),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue