From 89f5b8bb0cbb56a324d5a0059de4f19a77515f71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 5 Dec 2023 12:15:54 +0100 Subject: [PATCH] Upravy v dotazovani na verejna data --- src/database/query_builder.py | 5 ++++- src/graphql_schema/entities/resolvers/base.py | 5 +---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/database/query_builder.py b/src/database/query_builder.py index 5a504bb..cdc1ae1 100644 --- a/src/database/query_builder.py +++ b/src/database/query_builder.py @@ -12,6 +12,7 @@ class QueryBuilder: extra_select: Optional[list] = None, created_by_id: Optional[int] = None, order_by: Optional[list] = None, + only_public: Optional[bool] = False, include_deleted: bool = False ): if not extra_select: @@ -22,7 +23,9 @@ class QueryBuilder: if not include_deleted and hasattr(self.model, "deleted"): query = query.filter(self.model.deleted.is_(False)) - if hasattr(self.model, "created_by_id") and created_by_id: + if only_public and hasattr(self.model, "is_public"): + query = query.filter(self.model.is_public.is_(True)) + elif hasattr(self.model, "created_by_id") and created_by_id: query = query.filter(self.model.created_by_id == created_by_id) if order_by: diff --git a/src/graphql_schema/entities/resolvers/base.py b/src/graphql_schema/entities/resolvers/base.py index d1d101d..a64c677 100644 --- a/src/graphql_schema/entities/resolvers/base.py +++ b/src/graphql_schema/entities/resolvers/base.py @@ -36,16 +36,13 @@ class BaseQueryResolver(BaseResolver): *args, **kwargs, ): - query = self.query_builder.get_simple_query(created_by_id=user_id, order_by=order_by) + query = self.query_builder.get_simple_query(created_by_id=user_id, order_by=order_by, only_public=only_public) if object_id: if not hasattr(self.model, "id"): raise AssertionError(f"Model {self.model} has no ID column! Cannot query by ID!") query = query.filter(self.model.id == object_id) - if only_public and hasattr(self.model, "is_public"): - query = query.filter(self.model.is_public.is_(True)) - if kwargs: query = query.filter_by(**kwargs)