summaryrefslogtreecommitdiff
path: root/server/szurubooru/search
diff options
context:
space:
mode:
Diffstat (limited to 'server/szurubooru/search')
-rw-r--r--server/szurubooru/search/configs/post_search_config.py5
-rw-r--r--server/szurubooru/search/executor.py5
2 files changed, 9 insertions, 1 deletions
diff --git a/server/szurubooru/search/configs/post_search_config.py b/server/szurubooru/search/configs/post_search_config.py
index 5bf95d7..222718e 100644
--- a/server/szurubooru/search/configs/post_search_config.py
+++ b/server/szurubooru/search/configs/post_search_config.py
@@ -341,6 +341,11 @@ class PostSearchConfig(BaseSearchConfig):
)
return query.order_by(model.Post.post_id.desc())
+
+ @property
+ def can_list_unsafe(self) -> bool:
+ return self.user and auth.has_privilege(self.user, "posts:list:unsafe")
+
@property
def id_column(self) -> SaColumn:
return model.Post.post_id
diff --git a/server/szurubooru/search/executor.py b/server/szurubooru/search/executor.py
index 5302b14..bf95cc0 100644
--- a/server/szurubooru/search/executor.py
+++ b/server/szurubooru/search/executor.py
@@ -95,7 +95,10 @@ class Executor:
if token.name == "random":
disable_eager_loads = True
- key = (id(self.config), hash(search_query), offset, limit)
+
+ can_list_unsafe = getattr(self.config, "can_list_unsafe", False)
+
+ key = (id(self.config), hash(search_query), offset, limit, can_list_unsafe)
if not disable_eager_loads and cache.has(key):
return cache.get(key)