forked from AkkomaGang/akkoma
Fix media timeline depending on embeded object and add some guards
This commit is contained in:
parent
2abc09570f
commit
e31a22043b
1 changed files with 18 additions and 2 deletions
|
@ -571,6 +571,10 @@ defp restrict_since(query, %{"since_id" => since_id}) do
|
||||||
|
|
||||||
defp restrict_since(query, _), do: query
|
defp restrict_since(query, _), do: query
|
||||||
|
|
||||||
|
defp restrict_tag_reject(_query, %{"tag_reject" => _tag_reject, "skip_preload" => true}) do
|
||||||
|
raise "Can't use the child object without preloading!"
|
||||||
|
end
|
||||||
|
|
||||||
defp restrict_tag_reject(query, %{"tag_reject" => tag_reject})
|
defp restrict_tag_reject(query, %{"tag_reject" => tag_reject})
|
||||||
when is_list(tag_reject) and tag_reject != [] do
|
when is_list(tag_reject) and tag_reject != [] do
|
||||||
from(
|
from(
|
||||||
|
@ -581,6 +585,10 @@ defp restrict_tag_reject(query, %{"tag_reject" => tag_reject})
|
||||||
|
|
||||||
defp restrict_tag_reject(query, _), do: query
|
defp restrict_tag_reject(query, _), do: query
|
||||||
|
|
||||||
|
defp restrict_tag_all(_query, %{"tag_all" => _tag_all, "skip_preload" => true}) do
|
||||||
|
raise "Can't use the child object without preloading!"
|
||||||
|
end
|
||||||
|
|
||||||
defp restrict_tag_all(query, %{"tag_all" => tag_all})
|
defp restrict_tag_all(query, %{"tag_all" => tag_all})
|
||||||
when is_list(tag_all) and tag_all != [] do
|
when is_list(tag_all) and tag_all != [] do
|
||||||
from(
|
from(
|
||||||
|
@ -591,6 +599,10 @@ defp restrict_tag_all(query, %{"tag_all" => tag_all})
|
||||||
|
|
||||||
defp restrict_tag_all(query, _), do: query
|
defp restrict_tag_all(query, _), do: query
|
||||||
|
|
||||||
|
defp restrict_tag(_query, %{"tag" => _tag, "skip_preload" => true}) do
|
||||||
|
raise "Can't use the child object without preloading!"
|
||||||
|
end
|
||||||
|
|
||||||
defp restrict_tag(query, %{"tag" => tag}) when is_list(tag) do
|
defp restrict_tag(query, %{"tag" => tag}) when is_list(tag) do
|
||||||
from(
|
from(
|
||||||
[_activity, object] in query,
|
[_activity, object] in query,
|
||||||
|
@ -666,10 +678,14 @@ defp restrict_favorited_by(query, %{"favorited_by" => ap_id}) do
|
||||||
|
|
||||||
defp restrict_favorited_by(query, _), do: query
|
defp restrict_favorited_by(query, _), do: query
|
||||||
|
|
||||||
|
defp restrict_media(_query, %{"only_media" => _val, "skip_preload" => true}) do
|
||||||
|
raise "Can't use the child object without preloading!"
|
||||||
|
end
|
||||||
|
|
||||||
defp restrict_media(query, %{"only_media" => val}) when val == "true" or val == "1" do
|
defp restrict_media(query, %{"only_media" => val}) when val == "true" or val == "1" do
|
||||||
from(
|
from(
|
||||||
activity in query,
|
[_activity, object] in query,
|
||||||
where: fragment(~s(not (? #> '{"object","attachment"}' = ?\)), activity.data, ^[])
|
where: fragment("not (?)->'attachment' = (?)", object.data, ^[])
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue