feat: Add support for minutes in auto resolve feature (#11269)
### Summary - Converts conversation auto-resolution duration from days to minutes for more granular control - Updates validation to allow values from 10 minutes (minimum) to 999 days (maximum) - Implements smart messaging to show appropriate time units in activity messages ### Changes - Created migration to convert existing durations from days to minutes (x1440) - Updated conversation resolver to use minutes instead of days - Added dynamic translation key selection based on duration value - Updated related specs and documentation - Added support for displaying durations in days, hours, or minutes based on value ### Test plan - Verify account validation accepts new minute-based ranges - Confirm existing account settings are correctly migrated - Test auto-resolution works properly with minute values - Ensure proper time unit display in activity messages --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
25
app/services/message_templates/template/auto_resolve.rb
Normal file
25
app/services/message_templates/template/auto_resolve.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
class MessageTemplates::Template::AutoResolve
|
||||
pattr_initialize [:conversation!]
|
||||
|
||||
def perform
|
||||
return if conversation.account.auto_resolve_message.blank?
|
||||
|
||||
ActiveRecord::Base.transaction do
|
||||
conversation.messages.create!(auto_resolve_message_params)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
delegate :contact, :account, to: :conversation
|
||||
delegate :inbox, to: :message
|
||||
|
||||
def auto_resolve_message_params
|
||||
{
|
||||
account_id: @conversation.account_id,
|
||||
inbox_id: @conversation.inbox_id,
|
||||
message_type: :template,
|
||||
content: account.auto_resolve_message
|
||||
}
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user