aboutsummaryrefslogtreecommitdiff
path: root/lib/mix/tasks/unsubscribe_user.ex
diff options
context:
space:
mode:
authorRin Toshaka <rinpatch@sdf.org>2018-12-02 18:05:59 +0100
committerRin Toshaka <rinpatch@sdf.org>2018-12-02 18:05:59 +0100
commit7983b0bdfe40c88d159af2f0562d96e8812c31e3 (patch)
treefaccb4ea199e5a60e92dc6bea31bf491f231788b /lib/mix/tasks/unsubscribe_user.ex
parent31b3ac05accd3bc56f6663fad554ad67baf0c549 (diff)
downloadpleroma-7983b0bdfe40c88d159af2f0562d96e8812c31e3.tar.gz
Move unsubscribe user task to pleroma/user.ex. Delete unsubscribe_user.ex. Fix pleroma.user toggle_activated to work not only on local users.
Diffstat (limited to 'lib/mix/tasks/unsubscribe_user.ex')
-rw-r--r--lib/mix/tasks/unsubscribe_user.ex38
1 files changed, 0 insertions, 38 deletions
diff --git a/lib/mix/tasks/unsubscribe_user.ex b/lib/mix/tasks/unsubscribe_user.ex
deleted file mode 100644
index 62ea61a5c..000000000
--- a/lib/mix/tasks/unsubscribe_user.ex
+++ /dev/null
@@ -1,38 +0,0 @@
-defmodule Mix.Tasks.UnsubscribeUser do
- use Mix.Task
- alias Pleroma.{User, Repo}
- require Logger
-
- @moduledoc """
- Deactivate and Unsubscribe local users from a user
-
- Usage: ``mix unsubscribe_user <nickname>``
-
- Example: ``mix unsubscribe_user lain``
- """
- def run([nickname]) do
- Mix.Task.run("app.start")
-
- with %User{} = user <- User.get_by_nickname(nickname) do
- Logger.info("Deactivating #{user.nickname}")
- User.deactivate(user)
-
- {:ok, friends} = User.get_friends(user)
-
- Enum.each(friends, fn friend ->
- user = Repo.get(User, user.id)
-
- Logger.info("Unsubscribing #{friend.nickname} from #{user.nickname}")
- User.unfollow(user, friend)
- end)
-
- :timer.sleep(500)
-
- user = Repo.get(User, user.id)
-
- if length(user.following) == 0 do
- Logger.info("Successfully unsubscribed all followers from #{user.nickname}")
- end
- end
- end
-end