diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-08-26 16:37:25 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-08-26 16:37:25 -0500 |
commit | c199e18bb5b1a923029248783c60acf7c9597f64 (patch) | |
tree | eaae6461c41c5ed526cc1a7cb106c6c881cafcb4 /lib/pleroma/notification.ex | |
parent | 98f8851f29f940051656caa1715820bce70f8c29 (diff) | |
parent | 6f17aea066498bf070f0decb3ac0508c6b04e3b8 (diff) | |
download | pleroma-2168-media-preview-proxy.tar.gz |
Merge branch 'develop' into 2168-media-preview-proxy2168-media-preview-proxy
Diffstat (limited to 'lib/pleroma/notification.ex')
-rw-r--r-- | lib/pleroma/notification.ex | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 0b171563b..c1825f810 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -15,6 +15,7 @@ defmodule Pleroma.Notification do alias Pleroma.Repo alias Pleroma.ThreadMute alias Pleroma.User + alias Pleroma.Web.CommonAPI alias Pleroma.Web.CommonAPI.Utils alias Pleroma.Web.Push alias Pleroma.Web.Streamer @@ -441,6 +442,7 @@ defmodule Pleroma.Notification do |> Multi.insert(:notification, %Notification{ user_id: user.id, activity: activity, + seen: mark_as_read?(activity, user), type: type_from_activity(activity) }) |> Marker.multi_set_last_read_id(user, "notifications") @@ -634,6 +636,11 @@ defmodule Pleroma.Notification do def skip?(_, _, _), do: false + def mark_as_read?(activity, target_user) do + user = Activity.user_actor(activity) + User.mutes_user?(target_user, user) || CommonAPI.thread_muted?(target_user, activity) + end + def for_user_and_activity(user, activity) do from(n in __MODULE__, where: n.user_id == ^user.id, |