diff options
author | feld <feld@feld.me> | 2019-12-11 22:37:16 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2019-12-11 22:37:16 +0000 |
commit | fd697cf2090b61db60a02694c3227850df176e2d (patch) | |
tree | 8a738fdb98a55713bfe34c9c9c36873466f7c3e6 /lib/pleroma/object.ex | |
parent | 92b4a1aa1bc750bb077ae45c422967f9712e247d (diff) | |
parent | 086706444145cf008e3413c8ec22c92381865252 (diff) | |
download | pleroma-fd697cf2090b61db60a02694c3227850df176e2d.tar.gz |
Merge branch 'issue/1411' into 'develop'
[#1411] /api/v1/favourites: added sorting for activites by adds to favorites
See merge request pleroma/pleroma!1991
Diffstat (limited to 'lib/pleroma/object.ex')
-rw-r--r-- | lib/pleroma/object.ex | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/object.ex b/lib/pleroma/object.ex index ff0e59241..eb37b95a6 100644 --- a/lib/pleroma/object.ex +++ b/lib/pleroma/object.ex @@ -23,6 +23,23 @@ defmodule Pleroma.Object do timestamps() end + def with_joined_activity(query, activity_type \\ "Create", join_type \\ :inner) do + object_position = Map.get(query.aliases, :object, 0) + + join(query, join_type, [{object, object_position}], a in Activity, + on: + fragment( + "COALESCE(?->'object'->>'id', ?->>'object') = (? ->> 'id') AND (?->>'type' = ?) ", + a.data, + a.data, + object.data, + a.data, + ^activity_type + ), + as: :object_activity + ) + end + def create(data) do Object.change(%Object{}, %{data: data}) |> Repo.insert() |