* Custom attributes * Custom Attrs Manifest * Fix dropdown values for custom attributes * Handle edit mode for custom attributes * Ported duplicate logic to a mixin * fix Code climate issue * Fix Codeclimate complexity warning * Bug fix - Custom attributes getting duplicated * Bug fixes and Code Climate issue fix * Code Climate Issues Breakdown * Fix test spec * Add labels for Custom attributes in dropdown * Refactor * Refactor Automion mixin * Refactor Mixin * Refactor getOperator * Fix getOperatorType * File name method refactor * Refactor appendNewCondition * spec update * Refactor methods * Mixin Spec update * Automation Mixins Test Specs * Mixin Spec Rerun * Automation validations mixin spec * Automation helper test spec * Send custom_attr key * Fix spec fixtures * fix: Changes for custom attribute type and lower case search * fix: Specs * fix: Specs * fix: Ruby version change * fix: Ruby version change * Removes Lowercased values and fix label value in api payload * Fix specs * Fixed Query Spec * Removed disabled labels if no attributes are present * Code Climate Fixes * fix: custom attribute with indifferent access * fix: custom attribute with indifferent access * Fix specs * Minor label fix * REtrigger circle ci build * Update app/javascript/shared/mixins/specs/automationMixin.spec.js * Update app/javascript/shared/mixins/specs/automationMixin.spec.js * fix: Custom attribute case insensitivity search * Add missing reset action method to input * Set team_input to single select instead of multiple * fix: remove value case check for date,boolean and number data type * fix: cognitive complexity * fix: cognitive complexity * fix: Fixed activity message for automation system * fix: Fixed activity message for automation system * fix: Fixed activity message for automation system * fix: codeclimate * fix: codeclimate * fix: action cable events for label update * fix: codeclimate, conversation modela number of methods * fix: codeclimate, conversation modela number of methods * fix: codeclimate, conversation modela number of methods * fix: codeclimate, conversation modela number of methods * Fix margin bottom for attachment button * Remove margin bottom to avoid conflict from macros * Fix automation action query generator using the right key * fix: not running message created event for activity message * fix: not running message created event for activity message * codeclimate fix * codeclimate fix * codeclimate fix * Update app/javascript/dashboard/mixins/automations/methodsMixin.js Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> * Update app/javascript/shared/mixins/specs/automationHelper.spec.js Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> * Update app/javascript/dashboard/helper/automationHelper.js Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> * Update app/javascript/dashboard/mixins/automations/methodsMixin.js Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Pranav Raj S <pranav@chatwoot.com> Co-authored-by: Tejaswini <tejaswini@chatwoot.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Sojan Jose <sojan@pepalo.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
48 lines
1.1 KiB
Ruby
48 lines
1.1 KiB
Ruby
class Conversations::EventDataPresenter < SimpleDelegator
|
|
def push_data
|
|
{
|
|
additional_attributes: additional_attributes,
|
|
can_reply: can_reply?,
|
|
channel: inbox.try(:channel_type),
|
|
contact_inbox: contact_inbox,
|
|
id: display_id,
|
|
inbox_id: inbox_id,
|
|
messages: push_messages,
|
|
labels: label_list,
|
|
meta: push_meta,
|
|
status: status,
|
|
custom_attributes: custom_attributes,
|
|
snoozed_until: snoozed_until,
|
|
unread_count: unread_incoming_messages.count,
|
|
**push_timestamps
|
|
}
|
|
end
|
|
|
|
private
|
|
|
|
def push_messages
|
|
[messages.chat.last&.push_event_data].compact
|
|
end
|
|
|
|
def label_list
|
|
labels.pluck(:id, :name)
|
|
end
|
|
|
|
def push_meta
|
|
{
|
|
sender: contact.push_event_data,
|
|
assignee: assignee&.push_event_data,
|
|
team: team&.push_event_data,
|
|
hmac_verified: contact_inbox&.hmac_verified
|
|
}
|
|
end
|
|
|
|
def push_timestamps
|
|
{
|
|
agent_last_seen_at: agent_last_seen_at.to_i,
|
|
contact_last_seen_at: contact_last_seen_at.to_i,
|
|
timestamp: last_activity_at.to_i
|
|
}
|
|
end
|
|
end
|