projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'feature/csp-plug' into 'develop'
[akkoma]
/
lib
/
mix
/
tasks
/
make_moderator.ex
diff --git
a/lib/mix/tasks/make_moderator.ex
b/lib/mix/tasks/make_moderator.ex
index a76b54f4069c973ad7ad2e53f80ef7b13933ff37..15586dc307beaa21cb6072d756f415dc5332f1a0 100644
(file)
--- a/
lib/mix/tasks/make_moderator.ex
+++ b/
lib/mix/tasks/make_moderator.ex
@@
-1,27
+1,37
@@
defmodule Mix.Tasks.SetModerator do
defmodule Mix.Tasks.SetModerator do
+ @moduledoc """
+ Set moderator to a local user
+
+ Usage: ``mix set_moderator <nickname>``
+
+ Example: ``mix set_moderator lain``
+ """
+
use Mix.Task
import Mix.Ecto
alias Pleroma.{Repo, User}
use Mix.Task
import Mix.Ecto
alias Pleroma.{Repo, User}
- @shortdoc "Set moderator status"
def run([nickname | rest]) do
def run([nickname | rest]) do
-
ensure_started(Repo, []
)
+
Application.ensure_all_started(:pleroma
)
- moderator = case rest do
- [moderator] -> moderator == "true"
- _ -> true
- end
+ moderator =
+ case rest do
+ [moderator] -> moderator == "true"
+ _ -> true
+ end
with %User{local: true} = user <- User.get_by_nickname(nickname) do
with %User{local: true} = user <- User.get_by_nickname(nickname) do
- info = user.info
- |> Map.put("is_moderator", !!moderator)
+ info =
+ user.info
+ |> Map.put("is_moderator", !!moderator)
+
cng = User.info_changeset(user, %{info: info})
cng = User.info_changeset(user, %{info: info})
-
user = Repo.update!
(cng)
+
{:ok, user} = User.update_and_set_cache
(cng)
- IO.puts
"Moderator status of #{nickname}: #{user.info["is_moderator"]}"
+ IO.puts
("Moderator status of #{nickname}: #{user.info["is_moderator"]}")
else
_ ->
else
_ ->
- IO.puts
"No local user #{nickname}"
+ IO.puts
("No local user #{nickname}")
end
end
end
end
end
end