diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-09-01 19:05:24 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-09-11 14:10:13 -0500 |
commit | c41430b23eaf3fd15b227e66215aa2a4ff31dfdb (patch) | |
tree | e928d02b75c3bc5a3be692e28aad107c8a96d44f /lib/pleroma/chat.ex | |
parent | fb0de073439b5e3be823e736b44608e80f1027f1 (diff) | |
download | pleroma-c41430b23eaf3fd15b227e66215aa2a4ff31dfdb.tar.gz |
Refactor with Chat.for_user_query/1
Diffstat (limited to 'lib/pleroma/chat.ex')
-rw-r--r-- | lib/pleroma/chat.ex | 12 |
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 |