diff --git a/src/backend/langflow/api/v1/store.py b/src/backend/langflow/api/v1/store.py index f2106c51c..59a88153d 100644 --- a/src/backend/langflow/api/v1/store.py +++ b/src/backend/langflow/api/v1/store.py @@ -78,6 +78,21 @@ def list_components( raise HTTPException(status_code=400, detail=str(exc)) +@router.get("/components/count", response_model=dict) +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), +): + try: + result = store_service.count_components( + api_key=store_api_Key, filter_by_user=filter_by_user + ) + return {"count": result} + except Exception as exc: + raise HTTPException(status_code=400, detail=str(exc)) + + @router.get("/components/{component_id}", response_model=DownloadComponentResponse) def read_component( component_id: UUID, diff --git a/src/backend/langflow/services/store/service.py b/src/backend/langflow/services/store/service.py index 014012462..06d3deea9 100644 --- a/src/backend/langflow/services/store/service.py +++ b/src/backend/langflow/services/store/service.py @@ -121,7 +121,7 @@ class StoreService(Service): def count_components( self, - api_key: str, + api_key: Optional[str] = None, filter_by_user: bool = False, ) -> int: params = {"aggregate": json.dumps({"count": "*"})}