[Pleroma.Web.MastodonAPI.AccountView]: Add bot field

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-08-10 01:44:38 +02:00
parent 97e20d2932
commit d008f2d69c
No known key found for this signature in database
GPG Key ID: D5B7A8E43C997DEE
2 changed files with 40 additions and 0 deletions

View File

@ -13,6 +13,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
image = User.avatar_url(user) |> MediaProxy.url() image = User.avatar_url(user) |> MediaProxy.url()
header = User.banner_url(user) |> MediaProxy.url() header = User.banner_url(user) |> MediaProxy.url()
user_info = User.user_info(user) user_info = User.user_info(user)
bot = (user.info["source_data"]["type"] || "Person") in ["Application", "Service"]
emojis = emojis =
(user.info["source_data"]["tag"] || []) (user.info["source_data"]["tag"] || [])
@ -44,6 +45,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
header_static: header, header_static: header,
emojis: emojis, emojis: emojis,
fields: [], fields: [],
bot: bot,
source: %{ source: %{
note: "", note: "",
privacy: "public", privacy: "public",

View File

@ -49,6 +49,44 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
} }
], ],
fields: [], fields: [],
bot: false,
source: %{
note: "",
privacy: "public",
sensitive: "false"
}
}
assert expected == AccountView.render("account.json", %{user: user})
end
test "Represent a Service(bot) account" do
user =
insert(:user, %{
info: %{"note_count" => 5, "follower_count" => 3, "source_data" => %{"type" => "Service"}},
nickname: "shp@shitposter.club",
inserted_at: ~N[2017-08-15 15:47:06.597036]
})
expected = %{
id: to_string(user.id),
username: "shp",
acct: user.nickname,
display_name: user.name,
locked: false,
created_at: "2017-08-15T15:47:06.000Z",
followers_count: 3,
following_count: 0,
statuses_count: 5,
note: user.bio,
url: user.ap_id,
avatar: "http://localhost:4001/images/avi.png",
avatar_static: "http://localhost:4001/images/avi.png",
header: "http://localhost:4001/images/banner.png",
header_static: "http://localhost:4001/images/banner.png",
emojis: [],
fields: [],
bot: true,
source: %{ source: %{
note: "", note: "",
privacy: "public", privacy: "public",