bonfire-networks / bonfire-app

Bonfire - tend to your digital life in community. Customise and host your own online space and control your experience at the most granular level.
https://bonfirenetworks.org
GNU Affero General Public License v3.0
566 stars 42 forks source link

As an admin I'd like to be able to deactivate and delete a user account #863

Closed hl0dwig closed 7 months ago

hl0dwig commented 7 months ago

Is your feature request related to a problem? Please describe. I've forgotten to make signup on invite only on my instance of test, and some people have found the instance and have started to create accounts... how am I suppose to deactivate / delete their accounts?

Describe the solution you'd like In the members list, I should be able to deactivate / delete a user account

Describe alternatives you've considered Is it possible to it manually at least? I'm using the coop version (with abra tool)

mayel commented 7 months ago

You can disable their account (meaning block them for signing in any longer) in the instance settings members list (at https://your_instance/settings/instance/members), by selecting 'Block' in the menu next to a user and then 'Block instance-wide'. Will see about a command for actually deleting the user and data manually.

hl0dwig commented 7 months ago

Thanks for this information @mayel , it wasn't mentioned that this action would prevent people from logging in again :

"Super powers You can enforce the block for all users of your instance. All local users will stop interact with USER or their content"

mayel commented 7 months ago

Yeah that message applies to remote users, we should change the text for local ones.

mayel commented 7 months ago

Updated the copy for local users:

Screenshot 2024-02-25 at 20 59 39 Screenshot 2024-02-25 at 20 59 26
mayel commented 7 months ago

@hl0dwig to delete a user (+ their account + any other user profiles under that account + all their data such as posts) you can run this in the iex console: "username_to_delete" |> Bonfire.Me.Users.get_current() |> Map.get(:account) |> Bonfire.Me.Accounts.enqueue_delete()

hl0dwig commented 7 months ago

thanks for your help and quick answers and updates ;-)