def run(["deactivate", nickname]) do
start_pleroma()
- with %User{} = user <- User.get_cached_by_nickname(nickname) do
- shell_info("Deactivating #{user.nickname}")
+ with %User{} = user <- User.get_cached_by_nickname(nickname),
+ true <- user.is_active do
User.set_activation(user, false)
:timer.sleep(500)
user = User.get_cached_by_id(user.id)
if Enum.empty?(Enum.filter(User.get_friends(user), & &1.local)) do
- shell_info("Successfully unsubscribed all local followers from #{user.nickname}")
+ shell_info("Successfully deactivated #{nickname} and unsubscribed all local followers")
end
else
+ false ->
+ shell_info("User #{nickname} already deactivated")
+
_ ->
shell_error("No user #{nickname}")
end
end
end
+ def run(["change_email", nickname, email]) do
+ start_pleroma()
+
+ with %User{} = user <- User.get_cached_by_nickname(nickname) do
+ user
+ |> User.update_changeset(%{"email" => email})
+ |> User.update_and_set_cache()
+
+ shell_info("#{nickname}'s email updated")
+ end
+ end
+
+ def run(["show", nickname]) do
+ start_pleroma()
+
+ nickname
+ |> User.get_cached_by_nickname()
+ |> IO.inspect()
+ end
+
+ def run(["send_confirmation", nickname]) do
+ start_pleroma()
+
+ with %User{} = user <- User.get_cached_by_nickname(nickname) do
+ user
+ |> Pleroma.Emails.UserEmail.account_confirmation_email()
+ |> IO.inspect()
+ |> Pleroma.Emails.Mailer.deliver!()
+
+ shell_info("#{nickname}'s email sent")
+ end
+ end
+
def run(["confirm", nickname]) do
start_pleroma()