fix tags
This commit is contained in:
parent
91236c60c7
commit
d3ec09bb38
|
@ -140,7 +140,7 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity}
|
|||
visibility: get_visibility(object),
|
||||
media_attachments: attachments |> Enum.take(4),
|
||||
mentions: mentions,
|
||||
tags: tags,
|
||||
tags: build_tags(tags),
|
||||
application: %{
|
||||
name: "Web",
|
||||
website: nil
|
||||
|
@ -234,6 +234,25 @@ def render_content(%{"type" => object_type} = object)
|
|||
|
||||
def render_content(object), do: object["content"] || ""
|
||||
|
||||
@doc """
|
||||
Builds a dictionary tags.
|
||||
|
||||
## Examples
|
||||
|
||||
iex> Pleroma.Web.MastodonAPI.StatusView.build_tags(["fediverse", "nextcloud"])
|
||||
[{"name": "fediverse", "url": "/tag/fediverse"},
|
||||
{"name": "nextcloud", "url": "/tag/nextcloud"}]
|
||||
|
||||
"""
|
||||
@spec build_tags(list(String.t())) :: list(map())
|
||||
def build_tags(object_tags) when is_list(object_tags) do
|
||||
Enum.reduce(object_tags, [], fn tag, tags ->
|
||||
tags ++ [%{name: tag, url: "/tag/#{tag}"}]
|
||||
end)
|
||||
end
|
||||
|
||||
def build_tags(_), do: []
|
||||
|
||||
@doc """
|
||||
Builds list emojis.
|
||||
|
||||
|
|
|
@ -62,7 +62,12 @@ test "a note activity" do
|
|||
visibility: "public",
|
||||
media_attachments: [],
|
||||
mentions: [],
|
||||
tags: note.data["object"]["tag"],
|
||||
tags: [
|
||||
%{
|
||||
name: "#{note.data["object"]["tag"]}",
|
||||
url: "/tag/#{note.data["object"]["tag"]}"
|
||||
}
|
||||
],
|
||||
application: %{
|
||||
name: "Web",
|
||||
website: nil
|
||||
|
@ -151,4 +156,14 @@ test "a reblog" do
|
|||
assert represented[:reblog][:id] == to_string(activity.id)
|
||||
assert represented[:emojis] == []
|
||||
end
|
||||
|
||||
describe "build_tags/1" do
|
||||
test "it returns a a dictionary tags" do
|
||||
assert StatusView.build_tags(["fediverse", "mastodon", "nextcloud"]) == [
|
||||
%{name: "fediverse", url: "/tag/fediverse"},
|
||||
%{name: "mastodon", url: "/tag/mastodon"},
|
||||
%{name: "nextcloud", url: "/tag/nextcloud"}
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue