X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fmix%2Ftasks%2Fpleroma%2Fuser.ex;h=590553443fbdc298f47e13954d424abd4cbfea0c;hb=8764f646900f577add5cc606b433870633b2e4d5;hp=aa023aae8e348ea2c2f124e9a86f0b39861aa0c2;hpb=dfc9c08796055c723fac11dd13eea90d340fa0ae;p=akkoma diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index aa023aae8..590553443 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -2,6 +2,7 @@ defmodule Mix.Tasks.Pleroma.User do use Mix.Task import Ecto.Changeset alias Pleroma.{Repo, User} + alias Mix.Tasks.Pleroma.Common @shortdoc "Manages Pleroma users" @moduledoc """ @@ -20,7 +21,7 @@ defmodule Mix.Tasks.Pleroma.User do ## Generate an invite link. - mix pleroma.user invite + mix pleroma.user invite ## Delete the user's account. @@ -30,6 +31,10 @@ defmodule Mix.Tasks.Pleroma.User do mix pleroma.user toggle_activated NICKNAME + ## Unsubscribe local users from user's account and deactivate it + + mix pleroma.user unsubscribe NICKNAME + ## Create a password reset link. mix pleroma.user reset_password NICKNAME @@ -43,7 +48,6 @@ defmodule Mix.Tasks.Pleroma.User do - `--moderator`/`--no-moderator` - whether the user is a moderator - `--admin`/`--no-admin` - whether the user is an admin """ - def run(["new", nickname, email | rest]) do {options, [], []} = OptionParser.parse( @@ -88,7 +92,7 @@ defmodule Mix.Tasks.Pleroma.User do proceed? = Mix.shell().yes?("Continue?") unless not proceed? do - Mix.Task.run("app.start") + Common.start_pleroma() params = %{ @@ -123,7 +127,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["rm", nickname]) do - Mix.Task.run("app.start") + Common.start_pleroma() with %User{local: true} = user <- User.get_by_nickname(nickname) do User.delete(user) @@ -135,7 +139,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["toggle_activated", nickname]) do - Mix.Task.run("app.start") + Common.start_pleroma() with %User{} = user <- User.get_by_nickname(nickname) do User.deactivate(user, !user.info["deactivated"]) @@ -147,7 +151,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["reset_password", nickname]) do - Mix.Task.run("app.start") + Common.start_pleroma() with %User{local: true} = user <- User.get_by_nickname(nickname), {:ok, token} <- Pleroma.PasswordResetToken.create_token(user) do @@ -169,7 +173,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["unsubscribe", nickname]) do - Mix.Task.run("app.start") + Common.start_pleroma() with %User{} = user <- User.get_by_nickname(nickname) do Mix.shell().info("Deactivating #{user.nickname}") @@ -198,7 +202,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["set", nickname | rest]) do - Mix.Task.run("app.start") + Common.start_pleroma() {options, [], []} = OptionParser.parse( @@ -232,10 +236,6 @@ defmodule Mix.Tasks.Pleroma.User do end defp set_moderator(user, value) do - info = - user.info - |> Map.put("is_moderator", value) - info_cng = User.Info.admin_api_update(user.info, %{is_moderator: value}) user_cng = @@ -248,10 +248,6 @@ defmodule Mix.Tasks.Pleroma.User do end defp set_admin(user, value) do - info = - user.info - |> Map.put("is_admin", value) - info_cng = User.Info.admin_api_update(user.info, %{is_admin: value}) user_cng = @@ -264,10 +260,6 @@ defmodule Mix.Tasks.Pleroma.User do end defp set_locked(user, value) do - info = - user.info - |> Map.put("locked", value) - info_cng = User.Info.user_upgrade(user.info, %{locked: value}) user_cng = @@ -280,7 +272,7 @@ defmodule Mix.Tasks.Pleroma.User do end def run(["invite"]) do - Mix.Task.run("app.start") + Common.start_pleroma() with {:ok, token} <- Pleroma.UserInviteToken.create_token() do Mix.shell().info("Generated user invite token")