feat: Add support for bulk snooze until (#9360)

This commit is contained in:
Muhsin Keloth
2024-05-08 08:55:31 +05:30
committed by GitHub
parent 2ef767d60f
commit d649bd2dfd
3 changed files with 24 additions and 1 deletions

View File

@@ -21,6 +21,6 @@ class Api::V1::Accounts::BulkActionsController < Api::V1::Accounts::BaseControll
end
def permitted_params
params.permit(:type, ids: [], fields: [:status, :assignee_id, :team_id], labels: [add: [], remove: []])
params.permit(:type, :snoozed_until, ids: [], fields: [:status, :assignee_id, :team_id], labels: [add: [], remove: []])
end
end

View File

@@ -1,4 +1,6 @@
class BulkActionsJob < ApplicationJob
include DateRangeHelper
queue_as :medium
attr_accessor :records
@@ -23,6 +25,7 @@ class BulkActionsJob < ApplicationJob
params = available_params(@params)
records.each do |conversation|
bulk_add_labels(conversation)
bulk_snoozed_until(conversation)
conversation.update(params) if params
end
end
@@ -43,6 +46,10 @@ class BulkActionsJob < ApplicationJob
conversation.add_labels(@params[:labels][:add]) if @params[:labels] && @params[:labels][:add]
end
def bulk_snoozed_until(conversation)
conversation.snoozed_until = parse_date_time(@params[:snoozed_until].to_s) if @params[:snoozed_until]
end
def remove_labels(conversation)
return unless @params[:labels] && @params[:labels][:remove]