# Pull Request Template ## Description This PR adds an endpoint to fetch all attachments shared with or by a contact across all of their conversations. Results are scoped based on the access: * Admins can access all attachments * Agents can access attachments only from inboxes they belong to * Custom role agents are further filtered based on their conversation permissions Each attachment payload includes `conversation_id`, allowing the UI to deep-link back to the source conversation. Added `GET /api/v1/accounts/:account_id/contacts/:contact_id/attachments` under the existing contacts scope. Fixes https://linear.app/chatwoot/issue/CW-7021/add-media-view-to-the-contact-details-page ## Type of change - [x] New feature (non-breaking change which adds functionality) ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: Sojan Jose <sojan@pepalo.com>
14 lines
539 B
Ruby
14 lines
539 B
Ruby
attachment_data = attachment.push_event_data
|
|
|
|
json.id attachment_data[:id]
|
|
json.message_id attachment_data[:message_id]
|
|
json.thumb_url attachment_data[:thumb_url]
|
|
json.data_url attachment_data[:data_url]
|
|
json.file_size attachment_data[:file_size]
|
|
json.file_type attachment_data[:file_type]
|
|
json.extension attachment_data[:extension]
|
|
json.width attachment_data[:width]
|
|
json.height attachment_data[:height]
|
|
json.created_at attachment.message.created_at.to_i
|
|
json.sender attachment.message.sender.push_event_data if attachment.message.sender
|