diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-05-26 14:45:41 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-06-11 22:15:27 +0000 |
commit | 3208611bfc9c8edfeab3ab4bbce5b6e0ad0bf9e6 (patch) | |
tree | fbccdbb104622bd3cfeb8414b574e7ed549a602d | |
parent | cdf5a668f2194d98ac2020babc4b10e4b01ab957 (diff) | |
download | pleroma-3208611bfc9c8edfeab3ab4bbce5b6e0ad0bf9e6.tar.gz |
mix: add task for setting an account as locked or not
-rw-r--r-- | lib/mix/tasks/set_locked.ex | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/mix/tasks/set_locked.ex b/lib/mix/tasks/set_locked.ex new file mode 100644 index 000000000..2b3b18b09 --- /dev/null +++ b/lib/mix/tasks/set_locked.ex @@ -0,0 +1,30 @@ +defmodule Mix.Tasks.SetLocked do + use Mix.Task + import Mix.Ecto + alias Pleroma.{Repo, User} + + @shortdoc "Set locked status" + def run([nickname | rest]) do + ensure_started(Repo, []) + + locked = + case rest do + [locked] -> locked == "true" + _ -> true + end + + with %User{local: true} = user <- User.get_by_nickname(nickname) do + info = + user.info + |> Map.put("locked", !!locked) + + cng = User.info_changeset(user, %{info: info}) + user = Repo.update!(cng) + + IO.puts("locked status of #{nickname}: #{user.info["locked"]}") + else + _ -> + IO.puts("No local user #{nickname}") + end + end +end |