X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fpleroma%2Fthread_mute.ex;h=5d06cf030a31da27c5cfe884f8c5480c20d8b4ab;hb=e8d88a72cf6633444f9056807f6e048c66cf952d;hp=2b4cf02cf44ab5f10b3f15eea5f3d9409d17b420;hpb=0e07c5ef5717460d37336129cb657ba11091f09d;p=akkoma
diff --git a/lib/pleroma/thread_mute.ex b/lib/pleroma/thread_mute.ex
index 2b4cf02cf..5d06cf030 100644
--- a/lib/pleroma/thread_mute.ex
+++ b/lib/pleroma/thread_mute.ex
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.ThreadMute do
@@ -25,10 +25,10 @@ defmodule Pleroma.ThreadMute do
end
def query(user_id, context) do
- {:ok, user_id} = FlakeId.Ecto.CompatType.dump(user_id)
+ user_binary_id = User.binary_id(user_id)
ThreadMute
- |> where(user_id: ^user_id)
+ |> where(user_id: ^user_binary_id)
|> where(context: ^context)
end
@@ -41,15 +41,16 @@ defmodule Pleroma.ThreadMute do
def muter_ap_ids(context, ap_ids \\ nil)
- def muter_ap_ids(context, ap_ids) when context not in [nil, ""] do
+ # Note: applies to fake activities (ActivityPub.Utils.get_notified_from_object/1 etc.)
+ def muter_ap_ids(context, _ap_ids) when is_nil(context), do: []
+
+ def muter_ap_ids(context, ap_ids) do
context
|> muters_query()
|> maybe_filter_on_ap_id(ap_ids)
|> Repo.all()
end
- def muter_ap_ids(_context, _ap_ids), do: []
-
defp maybe_filter_on_ap_id(query, ap_ids) when is_list(ap_ids) do
where(query, [tm, u], u.ap_id in ^ap_ids)
end
@@ -67,8 +68,8 @@ defmodule Pleroma.ThreadMute do
|> Repo.delete_all()
end
- def check_muted(user_id, context) do
+ def exists?(user_id, context) do
query(user_id, context)
- |> Repo.all()
+ |> Repo.exists?()
end
end