Browse Source

Merge branch 'feature/mix-unsubscribe-all-from-instance' into 'develop'

mix: add pleroma.user unsubscribe_all_from_instance

See merge request pleroma/pleroma!1454
tags/v1.1.4
kaniini 5 years ago
parent
commit
c1c64d6d06
1 changed files with 18 additions and 0 deletions
  1. +18
    -0
      lib/mix/tasks/pleroma/user.ex

+ 18
- 0
lib/mix/tasks/pleroma/user.ex View File

@@ -62,6 +62,10 @@ defmodule Mix.Tasks.Pleroma.User do

mix pleroma.user unsubscribe NICKNAME

## Unsubscribe local users from an entire instance and deactivate all accounts

mix pleroma.user unsubscribe_all_from_instance INSTANCE

## Create a password reset link.

mix pleroma.user reset_password NICKNAME
@@ -246,6 +250,20 @@ defmodule Mix.Tasks.Pleroma.User do
end
end

def run(["unsubscribe_all_from_instance", instance]) do
start_pleroma()

Pleroma.User.Query.build(%{nickname: "@#{instance}"})
|> Pleroma.RepoStreamer.chunk_stream(500)
|> Stream.each(fn users ->
users
|> Enum.each(fn user ->
run(["unsubscribe", user.nickname])
end)
end)
|> Stream.run()
end

def run(["set", nickname | rest]) do
start_pleroma()



Loading…
Cancel
Save