aboutsummaryrefslogtreecommitdiff
path: root/lib/mix
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-05-21 13:27:44 +0000
committerlain <lain@soykaf.club>2020-05-21 13:27:44 +0000
commit283fb1e05bcd34294ea7bdedab62b0cc6f88d742 (patch)
tree075571a681face1a2982f8a607f8930718c7b0e5 /lib/mix
parent42b06d78dfc9cec2a31bcb4676cc0135863ca97d (diff)
parent4ae2f75c3e5d293c24fac978b1ae10fdfa7a3c00 (diff)
downloadpleroma-283fb1e05bcd34294ea7bdedab62b0cc6f88d742.tar.gz
Merge branch 'issue/749' into 'develop'
[#749] unsubscribes of friends when user deactivated See merge request pleroma/pleroma!2513
Diffstat (limited to 'lib/mix')
-rw-r--r--lib/mix/tasks/pleroma/user.ex20
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex
index da140ac86..3635c02bc 100644
--- a/lib/mix/tasks/pleroma/user.ex
+++ b/lib/mix/tasks/pleroma/user.ex
@@ -144,28 +144,18 @@ defmodule Mix.Tasks.Pleroma.User do
end
end
- def run(["unsubscribe", nickname]) do
+ def run(["deactivate", nickname]) do
start_pleroma()
with %User{} = user <- User.get_cached_by_nickname(nickname) do
shell_info("Deactivating #{user.nickname}")
User.deactivate(user)
-
- user
- |> User.get_friends()
- |> Enum.each(fn friend ->
- user = User.get_cached_by_id(user.id)
-
- shell_info("Unsubscribing #{friend.nickname} from #{user.nickname}")
- User.unfollow(user, friend)
- end)
-
:timer.sleep(500)
user = User.get_cached_by_id(user.id)
- if Enum.empty?(User.get_friends(user)) do
- shell_info("Successfully unsubscribed all followers from #{user.nickname}")
+ if Enum.empty?(Enum.filter(User.get_friends(user), & &1.local)) do
+ shell_info("Successfully unsubscribed all local followers from #{user.nickname}")
end
else
_ ->
@@ -173,7 +163,7 @@ defmodule Mix.Tasks.Pleroma.User do
end
end
- def run(["unsubscribe_all_from_instance", instance]) do
+ def run(["deactivate_all_from_instance", instance]) do
start_pleroma()
Pleroma.User.Query.build(%{nickname: "@#{instance}"})
@@ -181,7 +171,7 @@ defmodule Mix.Tasks.Pleroma.User do
|> Stream.each(fn users ->
users
|> Enum.each(fn user ->
- run(["unsubscribe", user.nickname])
+ run(["deactivate", user.nickname])
end)
end)
|> Stream.run()