diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/activity.ex | 3 | ||||
| -rw-r--r-- | lib/pleroma/web/mastodon_api/views/notification_view.ex | 38 | ||||
| -rw-r--r-- | lib/pleroma/web/push/impl.ex | 2 | 
3 files changed, 18 insertions, 25 deletions
| diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index c1065611b..992298c2d 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -28,7 +28,8 @@ defmodule Pleroma.Activity do      "Create" => "mention",      "Follow" => "follow",      "Announce" => "reblog", -    "Like" => "favourite" +    "Like" => "favourite", +    "Move" => "move"    }    @mastodon_to_ap_notification_types for {k, v} <- @mastodon_notification_types, diff --git a/lib/pleroma/web/mastodon_api/views/notification_view.ex b/lib/pleroma/web/mastodon_api/views/notification_view.ex index 5e3dbe728..ddd7f5318 100644 --- a/lib/pleroma/web/mastodon_api/views/notification_view.ex +++ b/lib/pleroma/web/mastodon_api/views/notification_view.ex @@ -37,32 +37,24 @@ defmodule Pleroma.Web.MastodonAPI.NotificationView do        }        case mastodon_type do -        "mention" -> -          response -          |> Map.merge(%{ -            status: StatusView.render("show.json", %{activity: activity, for: user}) -          }) - -        "favourite" -> -          response -          |> Map.merge(%{ -            status: StatusView.render("show.json", %{activity: parent_activity, for: user}) -          }) - -        "reblog" -> -          response -          |> Map.merge(%{ -            status: StatusView.render("show.json", %{activity: parent_activity, for: user}) -          }) - -        "follow" -> -          response - -        _ -> -          nil +        "mention" -> put_status(response, activity, user) +        "favourite" -> put_status(response, parent_activity, user) +        "reblog" -> put_status(response, parent_activity, user) +        "move" -> put_target(response, activity, user) +        "follow" -> response +        _ -> nil        end      else        _ -> nil      end    end + +  defp put_status(response, activity, user) do +    Map.put(response, :status, StatusView.render("show.json", %{activity: activity, for: user})) +  end + +  defp put_target(response, activity, user) do +    target = User.get_cached_by_ap_id(activity.data["target"]) +    Map.put(response, :target, AccountView.render("show.json", %{user: target, for: user})) +  end  end diff --git a/lib/pleroma/web/push/impl.ex b/lib/pleroma/web/push/impl.ex index dd445e8bf..8c131409d 100644 --- a/lib/pleroma/web/push/impl.ex +++ b/lib/pleroma/web/push/impl.ex @@ -16,7 +16,7 @@ defmodule Pleroma.Web.Push.Impl do    require Logger    import Ecto.Query -  @types ["Create", "Follow", "Announce", "Like"] +  @types ["Create", "Follow", "Announce", "Like", "Move"]    @doc "Performs sending notifications for user subscriptions"    @spec perform(Notification.t()) :: list(any) | :error | 
