Extract deactivated users query to a join
[akkoma] / lib / pleroma / activity.ex
index 01c9df53b6fde56252154999ae7ebf5667219a89..fef9aa8743b0293b324ed7a2642d99f9853e78d2 100644 (file)
@@ -368,9 +368,8 @@ defmodule Pleroma.Activity do
   end
 
   def restrict_deactivated_users(query) do
-    deactivated_users_query = from(u in User.Query.build(%{deactivated: true}), select: u.ap_id)
-
-    from(activity in query, where: activity.actor not in subquery(deactivated_users_query))
+    query
+    |> join(:inner, [activity], user in User, as: :user, on: activity.actor == user.ap_id and user.is_active == true)
   end
 
   defdelegate search(user, query, options \\ []), to: Pleroma.Search.DatabaseSearch