users: set is_deleted flag when account is deleted.

* Set the `is_deleted` flag when the user is deleted.
* Return the `is_deleted` flag in the /users.json API.
This commit is contained in:
evazion
2022-11-06 13:04:05 -06:00
parent 0a78a6188d
commit 6f08e1427b
5 changed files with 20 additions and 9 deletions

View File

@@ -87,15 +87,11 @@ class UserDeletion
end
def reset_password
user.update!(password: SecureRandom.hex(16))
user.update!(is_deleted: true, password: SecureRandom.hex(16))
end
def rename
name = "user_#{user.id}"
name += "~" while User.exists?(name: name)
request = UserNameChangeRequest.new(user: user, desired_name: name, original_name: user.name)
request.save!(validate: false) # XXX don't validate so that the 1 name change per week rule doesn't interfere
UserNameChangeRequest.create!(user: user, desired_name: "user_#{user.id}", original_name: user.name, is_deletion: true)
end
def validate_deletion