diff --git a/app/controllers/settings/keyword_mutes_controller.rb b/app/controllers/settings/keyword_mutes_controller.rb index cf364a9038..0c240b0282 100644 --- a/app/controllers/settings/keyword_mutes_controller.rb +++ b/app/controllers/settings/keyword_mutes_controller.rb @@ -15,6 +15,7 @@ class Settings::KeywordMutesController < Settings::BaseController @keyword_mute = keyword_mutes_for_account.create(keyword_mute_params) if @keyword_mute.persisted? + Glitch::ApplyKeywordMutesWorker.perform_async(current_account.id) redirect_to settings_keyword_mutes_path, notice: I18n.t('generic.changes_saved_msg') else render :new @@ -23,6 +24,7 @@ class Settings::KeywordMutesController < Settings::BaseController def update if @keyword_mute.update(keyword_mute_params) + Glitch::ApplyKeywordMutesWorker.perform_async(current_account.id) redirect_to settings_keyword_mutes_path, notice: I18n.t('generic.changes_saved_msg') else render :edit @@ -32,12 +34,14 @@ class Settings::KeywordMutesController < Settings::BaseController def destroy @keyword_mute.destroy! + Glitch::ApplyKeywordMutesWorker.perform_async(current_account.id) redirect_to settings_keyword_mutes_path, notice: I18n.t('generic.changes_saved_msg') end def destroy_all keyword_mutes_for_account.delete_all + Glitch::ApplyKeywordMutesWorker.perform_async(current_account.id) redirect_to settings_keyword_mutes_path, notice: I18n.t('generic.changes_saved_msg') end diff --git a/app/services/glitch/apply_keyword_mutes_service.rb b/app/services/glitch/apply_keyword_mutes_service.rb new file mode 100644 index 0000000000..9e3a1c2d33 --- /dev/null +++ b/app/services/glitch/apply_keyword_mutes_service.rb @@ -0,0 +1,6 @@ +module Glitch + class ApplyKeywordMutesService < BaseService + def call(account) + end + end +end diff --git a/app/workers/glitch/apply_keyword_mutes_worker.rb b/app/workers/glitch/apply_keyword_mutes_worker.rb new file mode 100644 index 0000000000..bcdb973708 --- /dev/null +++ b/app/workers/glitch/apply_keyword_mutes_worker.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Glitch + class ApplyKeywordMutesWorker + include Sidekiq::Worker + + sidekiq_options unique: :until_executed + + def perform(account_id) + Glitch::ApplyKeywordMutesService.new.call(Account.find(account_id)) + end + end +end diff --git a/spec/services/glitch/apply_keyword_mutes_service_spec.rb b/spec/services/glitch/apply_keyword_mutes_service_spec.rb new file mode 100644 index 0000000000..1d058c7c04 --- /dev/null +++ b/spec/services/glitch/apply_keyword_mutes_service_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +describe Glitch::ApplyKeywordMutesService, type: :service do + +end