X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fmastodon_api%2Fviews%2Fnotification_view.ex;h=83914a2755ef3156de2de8858fadb4b3c0ff94eb;hb=0f132b802dde7f217ecb07767e0d34e3edb517b7;hp=c97e6d32fe3e16e3564f7ffcd9a4825db33167b3;hpb=59e2a1018a56a8390bd059e2bfae0d6cb6ccc63a;p=akkoma
diff --git a/lib/pleroma/web/mastodon_api/views/notification_view.ex b/lib/pleroma/web/mastodon_api/views/notification_view.ex
index c97e6d32f..83914a275 100644
--- a/lib/pleroma/web/mastodon_api/views/notification_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/notification_view.ex
@@ -1,21 +1,21 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.MastodonAPI.NotificationView do
use Pleroma.Web, :view
alias Pleroma.Activity
- alias Pleroma.Chat.MessageReference
alias Pleroma.Notification
- alias Pleroma.Object
alias Pleroma.User
alias Pleroma.UserRelationship
+ alias Pleroma.Web.AdminAPI.Report
+ alias Pleroma.Web.AdminAPI.ReportView
alias Pleroma.Web.CommonAPI
+ alias Pleroma.Web.MediaProxy
alias Pleroma.Web.MastodonAPI.AccountView
alias Pleroma.Web.MastodonAPI.NotificationView
alias Pleroma.Web.MastodonAPI.StatusView
- alias Pleroma.Web.PleromaAPI.Chat.MessageReferenceView
@parent_types ~w{Like Announce EmojiReact}
@@ -110,32 +110,32 @@ defmodule Pleroma.Web.MastodonAPI.NotificationView do
"move" ->
put_target(response, activity, reading_user, %{})
+ "poll" ->
+ put_status(response, activity, reading_user, status_render_opts)
+
"pleroma:emoji_reaction" ->
response
|> put_status(parent_activity_fn.(), reading_user, status_render_opts)
|> put_emoji(activity)
- "pleroma:chat_mention" ->
- put_chat_message(response, activity, reading_user, status_render_opts)
+ "pleroma:report" ->
+ put_report(response, activity)
type when type in ["follow", "follow_request"] ->
response
end
end
- defp put_emoji(response, activity) do
- Map.put(response, :emoji, activity.data["content"])
- end
+ defp put_report(response, activity) do
+ report_render = ReportView.render("show.json", Report.extract_report_info(activity))
- defp put_chat_message(response, activity, reading_user, opts) do
- object = Object.normalize(activity)
- author = User.get_cached_by_ap_id(object.data["actor"])
- chat = Pleroma.Chat.get(reading_user.id, author.ap_id)
- cm_ref = MessageReference.for_chat_and_object(chat, object)
- render_opts = Map.merge(opts, %{for: reading_user, chat_message_reference: cm_ref})
- chat_message_render = MessageReferenceView.render("show.json", render_opts)
+ Map.put(response, :report, report_render)
+ end
- Map.put(response, :chat_message, chat_message_render)
+ defp put_emoji(response, activity) do
+ response
+ |> Map.put(:emoji, activity.data["content"])
+ |> Map.put(:emoji_url, MediaProxy.url(Pleroma.Emoji.emoji_url(activity.data)))
end
defp put_status(response, activity, reading_user, opts) do