validate actor type

This commit is contained in:
Alexander Strizhakov 2020-05-27 09:42:28 +03:00
commit 3249141588
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
4 changed files with 60 additions and 11 deletions

View file

@ -693,7 +693,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
%{assigns: %{user: admin}} = conn,
%{"nickname" => nickname} = params
) do
with {_, user} <- {:user, User.get_cached_by_nickname(nickname)},
with {_, %User{} = user} <- {:user, User.get_cached_by_nickname(nickname)},
{:ok, _user} <-
User.update_as_admin(user, params) do
ModerationLog.insert_log(%{
@ -715,11 +715,16 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
json(conn, %{status: "success"})
else
{:error, changeset} ->
{_, {error, _}} = Enum.at(changeset.errors, 0)
json(conn, %{error: "New password #{error}."})
errors =
Enum.reduce(changeset.errors, %{}, fn
{key, {error, _}}, acc ->
Map.put(acc, key, error)
end)
json(conn, %{errors: errors})
_ ->
json(conn, %{error: "Unable to change password."})
json(conn, %{error: "Unable to update user."})
end
end