This commit is contained in:
mdashlw 2025-03-27 04:05:19 +02:00 committed by GitHub
commit f4b35cc347
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 6 deletions

View file

@ -20,10 +20,8 @@ defmodule PhilomenaWeb.ActivityController do
def index(conn, _params) do
user = conn.assigns.current_user
{:ok, {images, _tags}} =
ImageLoader.search_string(
conn,
"created_at.lte:3 minutes ago, -thumbnails_generated:false",
{images, _tags} =
ImageLoader.default_query(conn,
pagination: %{conn.assigns.image_pagination | page_number: 1}
)

View file

@ -37,8 +37,7 @@ defmodule PhilomenaWeb.ImageController do
plug PhilomenaWeb.AdvertPlug when action in [:show]
def index(conn, _params) do
{:ok, {images, _tags}} =
ImageLoader.search_string(conn, "created_at.lte:3 minutes ago, -thumbnails_generated:false")
{images, _tags} = ImageLoader.default_query(conn)
images = Search.search_records(images, preload(Image, [:sources, tags: :aliases]))

View file

@ -7,6 +7,24 @@ defmodule PhilomenaWeb.ImageLoader do
alias Philomena.Repo
import Ecto.Query
def default_query(conn, options \\ [])
def default_query(conn, options) when conn.assigns.current_user.role != "user",
do: query(conn, %{match_all: %{}}, options)
def default_query(conn, options),
do:
query(
conn,
%{
bool: %{
must: [%{range: %{created_at: %{lte: "now-3m"}}}],
must_not: [%{term: %{thumbnails_generated: false}}]
}
},
options
)
# sobelow_skip ["SQL.Query"]
def search_string(conn, search_string, options \\ []) do
user = conn.assigns.current_user