projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add OpenAPI spec for AdminAPI.UserController
[akkoma]
/
lib
/
pleroma
/
web
/
admin_api
/
views
/
account_view.ex
diff --git
a/lib/pleroma/web/admin_api/views/account_view.ex
b/lib/pleroma/web/admin_api/views/account_view.ex
index 120159527abefe8259b52ff4624a09ecacd23137..e053a9b67249ab25a976113b1268874eaadc3bb2 100644
(file)
--- a/
lib/pleroma/web/admin_api/views/account_view.ex
+++ b/
lib/pleroma/web/admin_api/views/account_view.ex
@@
-1,5
+1,5
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-202
0
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-202
1
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.AdminAPI.AccountView do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.AdminAPI.AccountView do
@@
-39,7
+39,7
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
:fields,
:name,
:nickname,
:fields,
:name,
:nickname,
- :locked,
+ :
is_
locked,
:no_rich_text,
:default_scope,
:hide_follows,
:no_rich_text,
:default_scope,
:hide_follows,
@@
-52,7
+52,7
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
:skip_thread_containment,
:pleroma_settings_store,
:raw_fields,
:skip_thread_containment,
:pleroma_settings_store,
:raw_fields,
- :discoverable,
+ :
is_
discoverable,
:actor_type
])
|> Map.merge(%{
:actor_type
])
|> Map.merge(%{
@@
-69,17
+69,26
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
%{
"id" => user.id,
%{
"id" => user.id,
+ "email" => user.email,
"avatar" => avatar,
"nickname" => user.nickname,
"display_name" => display_name,
"avatar" => avatar,
"nickname" => user.nickname,
"display_name" => display_name,
- "
deactivated" => user.deactivated
,
+ "
is_active" => user.is_active
,
"local" => user.local,
"local" => user.local,
- "roles" =>
User.
roles(user),
+ "roles" => roles(user),
"tags" => user.tags || [],
"tags" => user.tags || [],
- "confirmation_pending" => user.confirmation_pending
+ "is_confirmed" => user.is_confirmed,
+ "is_approved" => user.is_approved,
+ "url" => user.uri || user.ap_id,
+ "registration_reason" => user.registration_reason,
+ "actor_type" => user.actor_type
}
end
}
end
+ def render("created_many.json", %{users: users}) do
+ render_many(users, AccountView, "created.json", as: :user)
+ end
+
def render("created.json", %{user: user}) do
%{
type: "success",
def render("created.json", %{user: user}) do
%{
type: "success",
@@
-91,7
+100,11
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
}
end
}
end
- def render("create-error.json", %{changeset: %Ecto.Changeset{changes: changes, errors: errors}}) do
+ def render("create_errors.json", %{changesets: changesets}) do
+ render_many(changesets, AccountView, "create_error.json", as: :changeset)
+ end
+
+ def render("create_error.json", %{changeset: %Ecto.Changeset{changes: changes, errors: errors}}) do
%{
type: "error",
code: 409,
%{
type: "error",
code: 409,
@@
-104,7
+117,7
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
end
def merge_account_views(%User{} = user) do
end
def merge_account_views(%User{} = user) do
- MastodonAPI.AccountView.render("show.json", %{user: user})
+ MastodonAPI.AccountView.render("show.json", %{user: user
, skip_visibility_check: true
})
|> Map.merge(AdminAPI.AccountView.render("show.json", %{user: user}))
end
|> Map.merge(AdminAPI.AccountView.render("show.json", %{user: user}))
end
@@
-135,4
+148,11
@@
defmodule Pleroma.Web.AdminAPI.AccountView do
defp image_url(%{"url" => [%{"href" => href} | _]}), do: href
defp image_url(_), do: nil
defp image_url(%{"url" => [%{"href" => href} | _]}), do: href
defp image_url(_), do: nil
+
+ defp roles(%{is_moderator: is_moderator, is_admin: is_admin}) do
+ %{
+ admin: is_admin,
+ moderator: is_moderator
+ }
+ end
end
end