Merge branch 'fix/mix-tasks-userinfo' into 'develop'

Update mix tasks that use User.info.info_changeset since it is deprecated

See merge request pleroma/pleroma!503
This commit is contained in:
lambda 2018-12-05 17:53:35 +00:00
commit 991b62cb4d
3 changed files with 27 additions and 23 deletions

View File

@ -8,7 +8,7 @@ defmodule Mix.Tasks.SetModerator do
""" """
use Mix.Task use Mix.Task
import Mix.Ecto import Ecto.Changeset
alias Pleroma.{Repo, User} alias Pleroma.{Repo, User}
def run([nickname | rest]) do def run([nickname | rest]) do
@ -21,14 +21,15 @@ def run([nickname | rest]) do
end end
with %User{local: true} = user <- User.get_by_nickname(nickname) do with %User{local: true} = user <- User.get_by_nickname(nickname) do
info = info_cng = User.Info.admin_api_update(user.info, %{is_moderator: !!moderator})
user.info
|> Map.put("is_moderator", !!moderator)
cng = User.info_changeset(user, %{info: info}) user_cng =
{:ok, user} = User.update_and_set_cache(cng) Ecto.Changeset.change(user)
|> put_embed(:info, info_cng)
IO.puts("Moderator status of #{nickname}: #{user.info["is_moderator"]}") {:ok, user} = User.update_and_set_cache(user_cng)
IO.puts("Moderator status of #{nickname}: #{user.info.is_moderator}")
else else
_ -> _ ->
IO.puts("No local user #{nickname}") IO.puts("No local user #{nickname}")

View File

@ -1,5 +1,6 @@
defmodule Mix.Tasks.SetAdmin do defmodule Mix.Tasks.SetAdmin do
use Mix.Task use Mix.Task
import Ecto.Changeset
alias Pleroma.User alias Pleroma.User
@doc """ @doc """
@ -9,21 +10,22 @@ defmodule Mix.Tasks.SetAdmin do
def run([nickname | rest]) do def run([nickname | rest]) do
Application.ensure_all_started(:pleroma) Application.ensure_all_started(:pleroma)
status = admin =
case rest do case rest do
[status] -> status == "true" [admin] -> admin == "true"
_ -> true _ -> true
end end
with %User{local: true} = user <- User.get_by_nickname(nickname) do with %User{local: true} = user <- User.get_by_nickname(nickname) do
info = info_cng = User.Info.admin_api_update(user.info, %{is_admin: !!admin})
user.info
|> Map.put("is_admin", !!status)
cng = User.info_changeset(user, %{info: info}) user_cng =
{:ok, user} = User.update_and_set_cache(cng) Ecto.Changeset.change(user)
|> put_embed(:info, info_cng)
IO.puts("Admin status of #{nickname}: #{user.info["is_admin"]}") {:ok, user} = User.update_and_set_cache(user_cng)
IO.puts("Admin status of #{nickname}: #{user.info.is_admin}")
else else
_ -> _ ->
IO.puts("No local user #{nickname}") IO.puts("No local user #{nickname}")

View File

@ -10,11 +10,11 @@ defmodule Mix.Tasks.SetLocked do
""" """
use Mix.Task use Mix.Task
import Mix.Ecto import Ecto.Changeset
alias Pleroma.{Repo, User} alias Pleroma.{Repo, User}
def run([nickname | rest]) do def run([nickname | rest]) do
ensure_started(Repo, []) Application.ensure_all_started(:pleroma)
locked = locked =
case rest do case rest do
@ -23,14 +23,15 @@ def run([nickname | rest]) do
end end
with %User{local: true} = user <- User.get_by_nickname(nickname) do with %User{local: true} = user <- User.get_by_nickname(nickname) do
info = info_cng = User.Info.profile_update(user.info, %{locked: !!locked})
user.info
|> Map.put("locked", !!locked)
cng = User.info_changeset(user, %{info: info}) user_cng =
user = Repo.update!(cng) Ecto.Changeset.change(user)
|> put_embed(:info, info_cng)
IO.puts("locked status of #{nickname}: #{user.info["locked"]}") {:ok, user} = User.update_and_set_cache(user_cng)
IO.puts("Locked status of #{nickname}: #{user.info.locked}")
else else
_ -> _ ->
IO.puts("No local user #{nickname}") IO.puts("No local user #{nickname}")