aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/chat.ex
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-09-01 19:05:24 -0500
committerAlex Gleason <alex@alexgleason.me>2020-09-11 14:10:13 -0500
commitc41430b23eaf3fd15b227e66215aa2a4ff31dfdb (patch)
treee928d02b75c3bc5a3be692e28aad107c8a96d44f /lib/pleroma/chat.ex
parentfb0de073439b5e3be823e736b44608e80f1027f1 (diff)
downloadpleroma-c41430b23eaf3fd15b227e66215aa2a4ff31dfdb.tar.gz
Refactor with Chat.for_user_query/1
Diffstat (limited to 'lib/pleroma/chat.ex')
-rw-r--r--lib/pleroma/chat.ex12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/pleroma/chat.ex b/lib/pleroma/chat.ex
index 24a86371e..b38c5c3dd 100644
--- a/lib/pleroma/chat.ex
+++ b/lib/pleroma/chat.ex
@@ -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