aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/notification.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/notification.ex')
-rw-r--r--lib/pleroma/notification.ex21
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index aaa675253..98289af08 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -261,6 +261,16 @@ defmodule Pleroma.Notification do
|> Repo.delete_all()
end
+ def dismiss(%Pleroma.Activity{} = activity) do
+ Notification
+ |> where([n], n.activity_id == ^activity.id)
+ |> Repo.delete_all()
+ |> case do
+ {_, notifications} -> {:ok, notifications}
+ _ -> {:error, "Cannot dismiss notification"}
+ end
+ end
+
def dismiss(%{id: user_id} = _user, id) do
notification = Repo.get(Notification, id)
@@ -283,17 +293,8 @@ defmodule Pleroma.Notification do
end
end
- def create_notifications(%Activity{data: %{"type" => "Follow"}} = activity) do
- if Pleroma.Config.get([:notifications, :enable_follow_request_notifications]) ||
- Activity.follow_accepted?(activity) do
- do_create_notifications(activity)
- else
- {:ok, []}
- end
- end
-
def create_notifications(%Activity{data: %{"type" => type}} = activity)
- when type in ["Like", "Announce", "Move", "EmojiReact"] do
+ when type in ["Follow", "Like", "Announce", "Move", "EmojiReact"] do
do_create_notifications(activity)
end