mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Pleroma.Web.AdminAPI.UserController: fix dialyzer errors with replace_params: false
This commit is contained in:
parent
dd916e0b4c
commit
f400224a00
1 changed files with 83 additions and 20 deletions
|
@ -18,7 +18,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
|
||||
@users_page_size 50
|
||||
|
||||
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
||||
plug(Pleroma.Web.ApiSpec.CastAndValidate, replace_params: false)
|
||||
|
||||
plug(
|
||||
OAuthScopesPlug,
|
||||
|
@ -51,13 +51,22 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
|
||||
defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.UserOperation
|
||||
|
||||
def delete(conn, %{nickname: nickname}) do
|
||||
def delete(%{private: %{open_api_spex: %{params: %{nickname: nickname}}}} = conn, _) do
|
||||
conn
|
||||
|> Map.put(:body_params, %{nicknames: [nickname]})
|
||||
|> delete(%{})
|
||||
|> do_deletes([nickname])
|
||||
end
|
||||
|
||||
def delete(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def delete(
|
||||
%{
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
conn
|
||||
|> do_deletes(nicknames)
|
||||
end
|
||||
|
||||
defp do_deletes(%{assigns: %{user: admin}} = conn, nicknames) when is_list(nicknames) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
|
||||
Enum.each(users, fn user ->
|
||||
|
@ -77,9 +86,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
def follow(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
body_params: %{
|
||||
follower: follower_nick,
|
||||
followed: followed_nick
|
||||
private: %{
|
||||
open_api_spex: %{
|
||||
body_params: %{
|
||||
follower: follower_nick,
|
||||
followed: followed_nick
|
||||
}
|
||||
}
|
||||
}
|
||||
} = conn,
|
||||
_
|
||||
|
@ -102,9 +115,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
def unfollow(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
body_params: %{
|
||||
follower: follower_nick,
|
||||
followed: followed_nick
|
||||
private: %{
|
||||
open_api_spex: %{
|
||||
body_params: %{
|
||||
follower: follower_nick,
|
||||
followed: followed_nick
|
||||
}
|
||||
}
|
||||
}
|
||||
} = conn,
|
||||
_
|
||||
|
@ -124,7 +141,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
json(conn, "ok")
|
||||
end
|
||||
|
||||
def create(%{assigns: %{user: admin}, body_params: %{users: users}} = conn, _) do
|
||||
def create(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{users: users}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
changesets =
|
||||
users
|
||||
|> Enum.map(fn %{nickname: nickname, email: email, password: password} ->
|
||||
|
@ -178,7 +201,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
end
|
||||
end
|
||||
|
||||
def show(%{assigns: %{user: admin}} = conn, %{nickname: nickname}) do
|
||||
def show(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{params: %{nickname: nickname}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
with %User{} = user <- User.get_cached_by_nickname_or_id(nickname, for: admin) do
|
||||
render(conn, "show.json", %{user: user})
|
||||
else
|
||||
|
@ -186,7 +215,11 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
end
|
||||
end
|
||||
|
||||
def toggle_activation(%{assigns: %{user: admin}} = conn, %{nickname: nickname}) do
|
||||
def toggle_activation(
|
||||
%{assigns: %{user: admin}, private: %{open_api_spex: %{params: %{nickname: nickname}}}} =
|
||||
conn,
|
||||
_
|
||||
) do
|
||||
user = User.get_cached_by_nickname(nickname)
|
||||
|
||||
{:ok, updated_user} = User.set_activation(user, !user.is_active)
|
||||
|
@ -202,7 +235,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "show.json", user: updated_user)
|
||||
end
|
||||
|
||||
def activate(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def activate(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
{:ok, updated_users} = User.set_activation(users, true)
|
||||
|
||||
|
@ -215,7 +254,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "index.json", users: updated_users)
|
||||
end
|
||||
|
||||
def deactivate(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def deactivate(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
{:ok, updated_users} = User.set_activation(users, false)
|
||||
|
||||
|
@ -228,7 +273,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "index.json", users: updated_users)
|
||||
end
|
||||
|
||||
def approve(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def approve(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
{:ok, updated_users} = User.approve(users)
|
||||
|
||||
|
@ -241,7 +292,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "index.json", users: updated_users)
|
||||
end
|
||||
|
||||
def suggest(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def suggest(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
{:ok, updated_users} = User.set_suggestion(users, true)
|
||||
|
||||
|
@ -254,7 +311,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "index.json", users: updated_users)
|
||||
end
|
||||
|
||||
def unsuggest(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames}} = conn, _) do
|
||||
def unsuggest(
|
||||
%{
|
||||
assigns: %{user: admin},
|
||||
private: %{open_api_spex: %{body_params: %{nicknames: nicknames}}}
|
||||
} = conn,
|
||||
_
|
||||
) do
|
||||
users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
|
||||
{:ok, updated_users} = User.set_suggestion(users, false)
|
||||
|
||||
|
@ -267,7 +330,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
|
|||
render(conn, "index.json", users: updated_users)
|
||||
end
|
||||
|
||||
def index(conn, params) do
|
||||
def index(%{private: %{open_api_spex: %{params: params}}} = conn, _) do
|
||||
{page, page_size} = page_params(params)
|
||||
filters = maybe_parse_filters(params[:filters])
|
||||
|
||||
|
|
Loading…
Reference in a new issue