users: delete more data when user deactivates their account.
* Don't delete the user's favorites unless private favorites are enabled. The general rule is that public account activity is kept and private account activity is deleted. * Delete the user's API keys, forum topics visits, private favgroups, downvotes, and upvotes (if privacy is enabled). * Reset all of the user's account settings to default. This means custom CSS is deleted, where it wasn't before. * Delete everything but the user's name and password asynchronously. * Don't log the current user out if it's the owner deleting another user's account. * Fix #5067 (Mod actions sometimes not created for user deletions) by wrapping the deletion process in a transaction.
This commit is contained in:
11
app/jobs/delete_user_job.rb
Normal file
11
app/jobs/delete_user_job.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# A job that deletes a user's settings and other personal data when they delete their account.
|
||||
class DeleteUserJob < ApplicationJob
|
||||
queue_as :default
|
||||
queue_with_priority 20
|
||||
|
||||
def perform(user)
|
||||
UserDeletion.new(user: user).delete_user
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user