From 7ca750bbde629e6a6df0e4e1a118ab2fba851d96 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 2 Nov 2023 09:37:41 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20fix(store.py):=20add=20support?= =?UTF-8?q?=20for=20filtering=20components=20based=20on=20is=5Fcomponent?= =?UTF-8?q?=20parameter=20in=20count=5Fcomponents=20function=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(service.py):=20add=20support=20for=20filteri?= =?UTF-8?q?ng=20components=20based=20on=20is=5Fcomponent=20parameter=20in?= =?UTF-8?q?=20StoreService.count=5Fcomponents=20method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/api/v1/store.py | 5 ++++- src/backend/langflow/services/store/service.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/api/v1/store.py b/src/backend/langflow/api/v1/store.py index 9800bdbbd..4c760e513 100644 --- a/src/backend/langflow/api/v1/store.py +++ b/src/backend/langflow/api/v1/store.py @@ -107,10 +107,13 @@ def count_components( filter_by_user: bool = Query(False), store_service: StoreService = Depends(get_store_service), store_api_Key: str = Depends(get_optional_user_store_api_key), + is_component: Optional[bool] = Query(None), ): try: result = store_service.count_components( - api_key=store_api_Key, filter_by_user=filter_by_user + api_key=store_api_Key, + filter_by_user=filter_by_user, + is_component=is_component, ) return {"count": result} except Exception as exc: diff --git a/src/backend/langflow/services/store/service.py b/src/backend/langflow/services/store/service.py index 1f0f43365..d26ad578c 100644 --- a/src/backend/langflow/services/store/service.py +++ b/src/backend/langflow/services/store/service.py @@ -167,6 +167,7 @@ class StoreService(Service): self, api_key: Optional[str] = None, filter_by_user: bool = False, + is_component: Optional[bool] = None, ) -> int: params = {"aggregate": json.dumps({"count": "*"})} if filter_by_user: @@ -179,6 +180,9 @@ class StoreService(Service): ) else: params["filter"] = json.dumps({"status": {"_in": ["public", "Public"]}}) + + if is_component: + params["filter[is_component][_eq]"] = is_component results = self._get(self.components_url, api_key, params) return results[0].get("count", 0)