aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-04-09 15:13:37 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-04-09 15:13:37 +0300
commitac672a9d6bfdd3cba7692f80a883bd38b0b09a57 (patch)
treee8a647e2a756d25491957b2ae165a20f816d5049 /lib
parent3965772b261e78669441a5bf3a597f1a69f78a7f (diff)
downloadpleroma-ac672a9d6bfdd3cba7692f80a883bd38b0b09a57.tar.gz
[#1559] Addressed code review requests.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/activity.ex8
-rw-r--r--lib/pleroma/web/mastodon_api/views/notification_view.ex9
-rw-r--r--lib/pleroma/web/push/impl.ex25
3 files changed, 21 insertions, 21 deletions
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex
index 3803d8e50..6213d0eb7 100644
--- a/lib/pleroma/activity.ex
+++ b/lib/pleroma/activity.ex
@@ -300,6 +300,8 @@ defmodule Pleroma.Activity do
def follow_accepted?(_), do: false
+ @spec mastodon_notification_type(Activity.t()) :: String.t() | nil
+
for {ap_type, type} <- @mastodon_notification_types, not is_list(type) do
def mastodon_notification_type(%Activity{data: %{"type" => unquote(ap_type)}}),
do: unquote(type)
@@ -315,11 +317,11 @@ defmodule Pleroma.Activity do
def mastodon_notification_type(%Activity{}), do: nil
+ @spec from_mastodon_notification_type(String.t()) :: String.t() | nil
+ @doc "Converts Mastodon notification type to AR activity type"
def from_mastodon_notification_type(type) do
with {k, _v} <-
- Enum.find(@mastodon_notification_types, fn {_k, v} ->
- v == type or (is_list(v) and type in v)
- end) do
+ Enum.find(@mastodon_notification_types, fn {_k, v} -> type in List.wrap(v) end) do
k
end
end
diff --git a/lib/pleroma/web/mastodon_api/views/notification_view.ex b/lib/pleroma/web/mastodon_api/views/notification_view.ex
index feed47129..7001fd7b9 100644
--- a/lib/pleroma/web/mastodon_api/views/notification_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/notification_view.ex
@@ -113,17 +113,14 @@ defmodule Pleroma.Web.MastodonAPI.NotificationView do
"move" ->
put_target(response, activity, reading_user, render_opts)
- "follow" ->
- response
-
- "follow_request" ->
- response
-
"pleroma:emoji_reaction" ->
response
|> put_status(parent_activity_fn.(), reading_user, render_opts)
|> put_emoji(activity)
+ type when type in ["follow", "follow_request"] ->
+ response
+
_ ->
nil
end
diff --git a/lib/pleroma/web/push/impl.ex b/lib/pleroma/web/push/impl.ex
index 89d45b2e1..f1740a6e0 100644
--- a/lib/pleroma/web/push/impl.ex
+++ b/lib/pleroma/web/push/impl.ex
@@ -153,10 +153,10 @@ defmodule Pleroma.Web.Push.Impl do
when type in ["Follow", "Like"] do
mastodon_type = mastodon_type || mastodon_notification_type(notification.activity)
- case {type, mastodon_type} do
- {"Follow", "follow"} -> "@#{actor.nickname} has followed you"
- {"Follow", "follow_request"} -> "@#{actor.nickname} has requested to follow you"
- {"Like", _} -> "@#{actor.nickname} has favorited your post"
+ case mastodon_type do
+ "follow" -> "@#{actor.nickname} has followed you"
+ "follow_request" -> "@#{actor.nickname} has requested to follow you"
+ "favourite" -> "@#{actor.nickname} has favorited your post"
end
end
@@ -166,15 +166,16 @@ defmodule Pleroma.Web.Push.Impl do
"New Direct Message"
end
- def format_title(%{activity: %{data: %{"type" => type}}} = notification, mastodon_type) do
- mastodon_type = mastodon_type || mastodon_notification_type(notification.activity)
+ def format_title(%{activity: activity}, mastodon_type) do
+ mastodon_type = mastodon_type || mastodon_notification_type(activity)
- case {type, mastodon_type} do
- {"Create", _} -> "New Mention"
- {"Follow", "follow"} -> "New Follower"
- {"Follow", "follow_request"} -> "New Follow Request"
- {"Announce", _} -> "New Repeat"
- {"Like", _} -> "New Favorite"
+ case mastodon_type do
+ "mention" -> "New Mention"
+ "follow" -> "New Follower"
+ "follow_request" -> "New Follow Request"
+ "reblog" -> "New Repeat"
+ "favourite" -> "New Favorite"
+ type -> "New #{String.capitalize(type || "event")}"
end
end
end