X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fmix%2Ftasks%2Fpleroma%2Fuser.ex;h=33e0fb7bd3b2cae61949c7615beda95ee6069f44;hb=fae0d4ba9d63e5dffc4fee97da09d1ca3b320e04;hp=8c47392214b29a4f09c8120085062cdfcdf5eb1c;hpb=af42c00cfffb2cd8e93857cd1cf2901113c45bd2;p=akkoma diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index 8c4739221..33e0fb7bd 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -334,6 +334,35 @@ defmodule Mix.Tasks.Pleroma.User do 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(["toggle_confirmed", nickname]) do start_pleroma() @@ -362,6 +391,24 @@ defmodule Mix.Tasks.Pleroma.User do end end + def run(["list"]) do + start_pleroma() + + Pleroma.User.Query.build(%{local: true}) + |> Pleroma.RepoStreamer.chunk_stream(500) + |> Stream.each(fn users -> + users + |> Enum.each(fn user -> + shell_info( + "#{user.nickname} moderator: #{user.is_moderator}, admin: #{user.is_admin}, locked: #{ + user.locked + }, deactivated: #{user.deactivated}" + ) + end) + end) + |> Stream.run() + end + defp set_moderator(user, value) do {:ok, user} = user