Chat moderation: fix formatting
[akkoma] / lib / pleroma / chat.ex
index 24a86371e7801594caa18acc33b7b9eb999f73b6..b38c5c3ddfe92801abcab51042a68e66d9b1e6e8 100644 (file)
@@ -6,7 +6,9 @@ defmodule Pleroma.Chat do
   use Ecto.Schema
 
   import Ecto.Changeset
+  import Ecto.Query
 
+  alias Pleroma.Chat
   alias Pleroma.Repo
   alias Pleroma.User
 
@@ -69,4 +71,14 @@ defmodule Pleroma.Chat do
       conflict_target: [:user_id, :recipient]
     )
   end
+
+  @spec for_user_query(FlakeId.Ecto.CompatType.t()) :: Ecto.Query.t()
+  def for_user_query(user_id) do
+    from(c in Chat,
+      where: c.user_id == ^user_id,
+      order_by: [desc: c.updated_at],
+      inner_join: u in User,
+      on: u.ap_id == c.recipient
+    )
+  end
 end