forked from AkkomaGang/akkoma
Use Mastodon API views in Admin API
This commit is contained in:
parent
2883f75a3a
commit
72b7a0797e
3 changed files with 28 additions and 20 deletions
|
@ -8,7 +8,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
|
||||||
use Pleroma.Web, :controller
|
use Pleroma.Web, :controller
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.ActivityPub.Relay
|
alias Pleroma.Web.ActivityPub.Relay
|
||||||
alias Pleroma.Web.TwitterAPI.UserView
|
alias Pleroma.Web.MastodonAPI.Admin.AccountView
|
||||||
|
|
||||||
import Pleroma.Web.ControllerHelper, only: [json_response: 3]
|
import Pleroma.Web.ControllerHelper, only: [json_response: 3]
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ def user_toggle_activation(conn, %{"nickname" => nickname}) do
|
||||||
{:ok, updated_user} = User.deactivate(user, !user.info.deactivated)
|
{:ok, updated_user} = User.deactivate(user, !user.info.deactivated)
|
||||||
|
|
||||||
conn
|
conn
|
||||||
|> json(UserView.render("show_for_admin.json", %{user: updated_user}))
|
|> json(AccountView.render("show.json", %{user: updated_user}))
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_users(conn, %{"nicknames" => nicknames, "tags" => tags}) do
|
def tag_users(conn, %{"nicknames" => nicknames, "tags" => tags}) do
|
||||||
|
@ -70,7 +70,7 @@ def list_users(%{assigns: %{user: admin}} = conn, %{"page" => page_string}) do
|
||||||
do:
|
do:
|
||||||
conn
|
conn
|
||||||
|> json(
|
|> json(
|
||||||
UserView.render("index_for_admin.json", %{
|
AccountView.render("index.json", %{
|
||||||
users: users,
|
users: users,
|
||||||
count: count,
|
count: count,
|
||||||
page_size: @users_page_size
|
page_size: @users_page_size
|
||||||
|
|
25
lib/pleroma/web/mastodon_api/views/admin/account_view.ex
Normal file
25
lib/pleroma/web/mastodon_api/views/admin/account_view.ex
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Pleroma: A lightweight social networking server
|
||||||
|
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
|
defmodule Pleroma.Web.MastodonAPI.Admin.AccountView do
|
||||||
|
use Pleroma.Web, :view
|
||||||
|
|
||||||
|
alias Pleroma.Web.MastodonAPI.Admin.AccountView
|
||||||
|
|
||||||
|
def render("index.json", %{users: users, count: count, page_size: page_size}) do
|
||||||
|
%{
|
||||||
|
users: render_many(users, AccountView, "show.json", as: :user),
|
||||||
|
count: count,
|
||||||
|
page_size: page_size
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def render("show.json", %{user: user}) do
|
||||||
|
%{
|
||||||
|
"id" => user.id,
|
||||||
|
"nickname" => user.nickname,
|
||||||
|
"deactivated" => user.info.deactivated
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
|
@ -9,7 +9,6 @@ defmodule Pleroma.Web.TwitterAPI.UserView do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.CommonAPI.Utils
|
alias Pleroma.Web.CommonAPI.Utils
|
||||||
alias Pleroma.Web.MediaProxy
|
alias Pleroma.Web.MediaProxy
|
||||||
alias Pleroma.Web.TwitterAPI.UserView
|
|
||||||
|
|
||||||
def render("show.json", %{user: user = %User{}} = assigns) do
|
def render("show.json", %{user: user = %User{}} = assigns) do
|
||||||
render_one(user, Pleroma.Web.TwitterAPI.UserView, "user.json", assigns)
|
render_one(user, Pleroma.Web.TwitterAPI.UserView, "user.json", assigns)
|
||||||
|
@ -27,22 +26,6 @@ def render("user.json", %{user: user = %User{}} = assigns) do
|
||||||
else: %{}
|
else: %{}
|
||||||
end
|
end
|
||||||
|
|
||||||
def render("index_for_admin.json", %{users: users, count: count, page_size: page_size} = opts) do
|
|
||||||
%{
|
|
||||||
users: render_many(users, UserView, "show_for_admin.json", opts),
|
|
||||||
count: count,
|
|
||||||
page_size: page_size
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("show_for_admin.json", %{user: user}) do
|
|
||||||
%{
|
|
||||||
"id" => user.id,
|
|
||||||
"nickname" => user.nickname,
|
|
||||||
"deactivated" => user.info.deactivated
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("short.json", %{
|
def render("short.json", %{
|
||||||
user: %User{
|
user: %User{
|
||||||
nickname: nickname,
|
nickname: nickname,
|
||||||
|
|
Loading…
Reference in a new issue