summaryrefslogtreecommitdiffstats
path: root/app/services
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-07-15 21:08:19 +0200
committerGitHub <noreply@github.com>2020-07-15 21:08:19 +0200
commitd658af7ff8893d332f1509082a9d919f70af99af (patch)
tree71e93cbd0caee678c585c22bd89c6f5eee531f4e /app/services
parentbfed7dd5f3127f08ece3070bd67f5737933bac1a (diff)
Fix removing allowed domains being done synchronously (#14302)
* Fix removing allowed domains being done synchronously * Add tests
Diffstat (limited to 'app/services')
-rw-r--r--app/services/after_unallow_domain_service.rb9
-rw-r--r--app/services/unallow_domain_service.rb5
2 files changed, 11 insertions, 3 deletions
diff --git a/app/services/after_unallow_domain_service.rb b/app/services/after_unallow_domain_service.rb
new file mode 100644
index 00000000000..ccd0b8ae919
--- /dev/null
+++ b/app/services/after_unallow_domain_service.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AfterUnallowDomainService < BaseService
+ def call(domain)
+ Account.where(domain: domain).find_each do |account|
+ SuspendAccountService.new.call(account, reserve_username: false)
+ end
+ end
+end
diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb
index 870c799514b..fc526076122 100644
--- a/app/services/unallow_domain_service.rb
+++ b/app/services/unallow_domain_service.rb
@@ -12,8 +12,7 @@ class UnallowDomainService < BaseService
private
def suspend_accounts!(domain)
- Account.where(domain: domain).find_each do |account|
- SuspendAccountService.new.call(account, reserve_username: false)
- end
+ Account.where(domain: domain).in_batches.update_all(suspended_at: Time.now.utc)
+ AfterUnallowDomainWorker.perform_async(domain)
end
end