forked from AkkomaGang/akkoma
Code style fixes
This commit is contained in:
parent
76c3e290fc
commit
56b60798c2
2 changed files with 33 additions and 40 deletions
|
@ -56,7 +56,8 @@ def for_user_query(user, opts \\ []) do
|
|||
if opts[:with_muted] do
|
||||
query
|
||||
else
|
||||
where(query, [n, a], a.actor not in ^user.info.muted_notifications)
|
||||
query
|
||||
|> where([n, a], a.actor not in ^user.info.muted_notifications)
|
||||
|> where([n, a], a.actor not in ^user.info.blocks)
|
||||
|> where(
|
||||
[n, a],
|
||||
|
@ -88,9 +89,9 @@ def for_user(user, opts \\ %{}) do
|
|||
"""
|
||||
@spec for_user_since(Pleroma.User.t(), NaiveDateTime.t()) :: [t()]
|
||||
def for_user_since(user, date) do
|
||||
from(n in for_user_query(user),
|
||||
where: n.updated_at > ^date
|
||||
)
|
||||
user
|
||||
|> for_user_query()
|
||||
|> where([n], n.updated_at > ^date)
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
|
@ -112,10 +113,8 @@ def get(%{id: user_id} = _user, id) do
|
|||
preload: [activity: activity]
|
||||
)
|
||||
|
||||
notification = Repo.one(query)
|
||||
|
||||
case notification do
|
||||
%{user_id: ^user_id} ->
|
||||
case Repo.one(query) do
|
||||
%{user_id: ^user_id} = notification ->
|
||||
{:ok, notification}
|
||||
|
||||
_ ->
|
||||
|
@ -137,10 +136,8 @@ def destroy_multiple(%{id: user_id} = _user, ids) do
|
|||
end
|
||||
|
||||
def dismiss(%{id: user_id} = _user, id) do
|
||||
notification = Repo.get(SubscriptionNotification, id)
|
||||
|
||||
case notification do
|
||||
%{user_id: ^user_id} ->
|
||||
case Repo.get(SubscriptionNotification, id) do
|
||||
%{user_id: ^user_id} = notification ->
|
||||
Repo.delete(notification)
|
||||
|
||||
_ ->
|
||||
|
@ -149,21 +146,24 @@ def dismiss(%{id: user_id} = _user, id) do
|
|||
end
|
||||
|
||||
def create_notifications(%Activity{data: %{"to" => _, "type" => "Create"}} = activity) do
|
||||
object = Object.normalize(activity)
|
||||
case Object.normalize(activity) do
|
||||
%{data: %{"type" => "Answer"}} ->
|
||||
{:ok, []}
|
||||
|
||||
unless object && object.data["type"] == "Answer" do
|
||||
users = get_notified_from_activity(activity)
|
||||
notifications = Enum.map(users, fn user -> create_notification(activity, user) end)
|
||||
{:ok, notifications}
|
||||
else
|
||||
{:ok, []}
|
||||
_ ->
|
||||
users = get_notified_from_activity(activity)
|
||||
notifications = Enum.map(users, fn user -> create_notification(activity, user) end)
|
||||
{:ok, notifications}
|
||||
end
|
||||
end
|
||||
|
||||
def create_notifications(%Activity{data: %{"to" => _, "type" => type}} = activity)
|
||||
when type in ["Like", "Announce", "Follow"] do
|
||||
users = get_notified_from_activity(activity)
|
||||
notifications = Enum.map(users, fn user -> create_notification(activity, user) end)
|
||||
notifications =
|
||||
activity
|
||||
|> get_notified_from_activity()
|
||||
|> Enum.map(&create_notification(activity, &1))
|
||||
|
||||
{:ok, notifications}
|
||||
end
|
||||
|
||||
|
@ -188,12 +188,10 @@ def get_notified_from_activity(
|
|||
local_only
|
||||
)
|
||||
when type in ["Create", "Like", "Announce", "Follow"] do
|
||||
recipients =
|
||||
[]
|
||||
|> Utils.maybe_notify_subscribers(activity)
|
||||
|> Enum.uniq()
|
||||
|
||||
User.get_users_from_set(recipients, local_only)
|
||||
[]
|
||||
|> Utils.maybe_notify_subscribers(activity)
|
||||
|> Enum.uniq()
|
||||
|> User.get_users_from_set(local_only)
|
||||
end
|
||||
|
||||
def get_notified_from_activity(_, _local_only), do: []
|
||||
|
@ -218,12 +216,12 @@ def skip?(:self, activity, user) do
|
|||
|
||||
def skip?(
|
||||
:followers,
|
||||
activity,
|
||||
%{data: %{"actor" => actor}},
|
||||
%{info: %{notification_settings: %{"followers" => false}}} = user
|
||||
) do
|
||||
actor = activity.data["actor"]
|
||||
follower = User.get_cached_by_ap_id(actor)
|
||||
User.following?(follower, user)
|
||||
actor
|
||||
|> User.get_cached_by_ap_id()
|
||||
|> User.following?(user)
|
||||
end
|
||||
|
||||
def skip?(
|
||||
|
@ -252,14 +250,10 @@ def skip?(
|
|||
!User.following?(user, followed)
|
||||
end
|
||||
|
||||
def skip?(:recently_followed, %{data: %{"type" => "Follow"}} = activity, user) do
|
||||
actor = activity.data["actor"]
|
||||
|
||||
SubscriptionNotification.for_user(user)
|
||||
|> Enum.any?(fn
|
||||
%{activity: %{data: %{"type" => "Follow", "actor" => ^actor}}} -> true
|
||||
_ -> false
|
||||
end)
|
||||
def skip?(:recently_followed, %{data: %{"type" => "Follow", "actor" => actor}}, user) do
|
||||
user
|
||||
|> SubscriptionNotification.for_user()
|
||||
|> Enum.any?(&match?(%{activity: %{data: %{"type" => "Follow", "actor" => ^actor}}}, &1))
|
||||
end
|
||||
|
||||
def skip?(_, _, _), do: false
|
||||
|
|
|
@ -6,7 +6,6 @@ defmodule Pleroma.Web.MastodonAPI.SubscriptionNotificationView do
|
|||
use Pleroma.Web, :view
|
||||
|
||||
alias Pleroma.Activity
|
||||
# alias Pleroma.SubscriptionNotification
|
||||
alias Pleroma.User
|
||||
alias Pleroma.Web.CommonAPI
|
||||
alias Pleroma.Web.MastodonAPI.AccountView
|
||||
|
|
Loading…
Reference in a new issue