aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAriadne Conill <ariadne@dereferenced.org>2019-09-27 11:40:40 +0000
committerAriadne Conill <ariadne@dereferenced.org>2019-09-30 10:39:17 +0000
commitb7877e9b1c61e42d60bb65deef0cec7f1103dd89 (patch)
tree68b56a910db892bdfe3081b3a5dd252c4eca15ad /lib
parentc3d09921e4dd13f02ab141bba9ba8372f70bab76 (diff)
downloadpleroma-b7877e9b1c61e42d60bb65deef0cec7f1103dd89.tar.gz
mastodon api: implement rendering of listen activities
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/views/status_view.ex17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 2321d0de2..cf024a83c 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -368,6 +368,23 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
}
end
+ def render("listen.json", %{activity: %Activity{data: %{"type" => "Listen"}} = activity} = opts) do
+ object = Object.normalize(activity)
+
+ user = get_user(activity.data["actor"])
+ created_at = Utils.to_masto_date(activity.data["published"])
+
+ %{
+ id: activity.id,
+ account: AccountView.render("account.json", %{user: user, for: opts[:for]}),
+ created_at: created_at,
+ title: object.data["title"] |> HTML.strip_tags(),
+ artist: object.data["artist"] |> HTML.strip_tags(),
+ album: object.data["album"] |> HTML.strip_tags(),
+ length: object.data["length"]
+ }
+ end
+
def render("poll.json", %{object: object} = opts) do
{multiple, options} =
case object.data do