docbrown/app/services/users/delete.rb
Jacob Herrington a5b2d109d5
Rename banned and comment_banned roles (#12270)
* Rename banned and comment_banned roles

* Add data update script to rename roles containing 'ban'

* Add named error for Suspended users

* Update unidiomatic method names

* Rename misc banned to suspended

* Apply suggestions from code review

Co-authored-by: Michael Kohl <me@citizen428.net>

* Add unit tests for suspended methods

This commit also adds TODO comments for removing banned and
comment_banned from the codebase after data update scripts have
successfully run on all of our Forems.

Co-authored-by: Michael Kohl <me@citizen428.net>
2021-04-06 10:12:14 -05:00

38 lines
709 B
Ruby

module Users
class Delete
def initialize(user)
@user = user
end
def call
delete_comments
delete_articles
delete_user_activity
user.unsubscribe_from_newsletters
EdgeCache::Bust.call("/#{user.username}")
Users::SuspendedUsername.create_from_user(user) if user.suspended?
user.destroy
Rails.cache.delete("user-destroy-token-#{user.id}")
end
def self.call(...)
new(...).call
end
private
attr_reader :user
def delete_user_activity
DeleteActivity.call(user)
end
def delete_comments
DeleteComments.call(user)
end
def delete_articles
DeleteArticles.call(user)
end
end
end