Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled
- Add Logistics component with progress tracking - Add OrderDetail component for order information - Support data-driven steps and actions - Add blue color scale to widget SCSS - Fix node overflow and progress bar rendering issues - Add English translations for dashboard components Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
63 lines
2.6 KiB
Ruby
63 lines
2.6 KiB
Ruby
# TODO: Move this into models jbuilder
|
|
# Currently the file there is used only for search endpoint.
|
|
# Everywhere else we use conversation builder in partials folder
|
|
|
|
json.meta do
|
|
json.sender do
|
|
json.partial! 'api/v1/models/contact', formats: [:json], resource: conversation.contact
|
|
end
|
|
json.channel conversation.inbox.try(:channel_type)
|
|
if conversation.assigned_entity.is_a?(AgentBot)
|
|
json.assignee do
|
|
json.partial! 'api/v1/models/agent_bot_slim', formats: [:json], resource: conversation.assigned_entity
|
|
end
|
|
json.assignee_type 'AgentBot'
|
|
elsif conversation.assigned_entity&.account
|
|
json.assignee do
|
|
json.partial! 'api/v1/models/agent', formats: [:json], resource: conversation.assigned_entity
|
|
end
|
|
json.assignee_type 'User'
|
|
end
|
|
if conversation.team.present?
|
|
json.team do
|
|
json.partial! 'api/v1/models/team', formats: [:json], resource: conversation.team
|
|
end
|
|
end
|
|
json.hmac_verified conversation.contact_inbox&.hmac_verified
|
|
end
|
|
|
|
json.id conversation.display_id
|
|
if conversation.messages.where(account_id: conversation.account_id).last.blank?
|
|
json.messages []
|
|
else
|
|
json.messages [
|
|
conversation.messages.where(account_id: conversation.account_id)
|
|
.includes([{ attachments: [{ file_attachment: [:blob] }] }]).last.try(:push_event_data)
|
|
]
|
|
end
|
|
|
|
json.account_id conversation.account_id
|
|
json.uuid conversation.uuid
|
|
json.additional_attributes conversation.additional_attributes
|
|
json.agent_last_seen_at conversation.agent_last_seen_at.to_i
|
|
json.assignee_last_seen_at conversation.assignee_last_seen_at.to_i
|
|
json.can_reply conversation.can_reply?
|
|
json.contact_last_seen_at conversation.contact_last_seen_at.to_i
|
|
json.custom_attributes conversation.custom_attributes
|
|
json.inbox_id conversation.inbox_id
|
|
json.labels conversation.cached_label_list_array
|
|
json.muted conversation.muted?
|
|
json.snoozed_until conversation.snoozed_until
|
|
json.status conversation.status
|
|
json.created_at conversation.created_at.to_i
|
|
json.updated_at conversation.updated_at.to_f
|
|
json.timestamp conversation.last_activity_at.to_i
|
|
json.first_reply_created_at conversation.first_reply_created_at.to_i
|
|
json.unread_count conversation.unread_incoming_messages.count
|
|
json.last_non_activity_message conversation.messages.where(account_id: conversation.account_id).non_activity_messages.first.try(:push_event_data)
|
|
json.last_activity_at conversation.last_activity_at.to_i
|
|
json.priority conversation.priority
|
|
json.waiting_since conversation.waiting_since.to_i.to_i
|
|
json.sla_policy_id conversation.sla_policy_id
|
|
json.partial! 'enterprise/api/v1/conversations/partials/conversation', conversation: conversation if ChatwootApp.enterprise?
|