🐛 fix(store.py): remove unnecessary import statement to improve code readability

🐛 fix(store.py): fix the call to get_component_likes_count method by removing api_key parameter since it's not needed
🐛 fix(service.py): fix the return type of _get method to always return a list of dictionaries
🐛 fix(service.py): fix the call to get_component_likes_count method by removing api_key parameter since it's not needed
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-11-16 12:28:48 -03:00
commit 966451f6a8
2 changed files with 11 additions and 7 deletions

View file

@ -4,6 +4,7 @@ from uuid import UUID
from fastapi import APIRouter, Depends, HTTPException, Query from fastapi import APIRouter, Depends, HTTPException, Query
from httpx import HTTPStatusError from httpx import HTTPStatusError
from langflow.services.auth import utils as auth_utils from langflow.services.auth import utils as auth_utils
from langflow.services.database.models.user.user import User from langflow.services.database.models.user.user import User
from langflow.services.deps import get_settings_service, get_store_service from langflow.services.deps import get_settings_service, get_store_service
@ -227,7 +228,7 @@ async def like_component(
): ):
try: try:
result = await store_service.like_component(store_api_Key, str(component_id)) result = await store_service.like_component(store_api_Key, str(component_id))
likes_count = await store_service.get_component_likes_count(store_api_Key, str(component_id)) likes_count = await store_service.get_component_likes_count(str(component_id))
return UsersLikesResponse(likes_count=likes_count, liked_by_user=result) return UsersLikesResponse(likes_count=likes_count, liked_by_user=result)
except Exception as exc: except Exception as exc:

View file

@ -1,5 +1,5 @@
import json import json
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union from typing import TYPE_CHECKING, Any, Dict, List, Optional
from uuid import UUID from uuid import UUID
import httpx import httpx
@ -77,7 +77,7 @@ class StoreService(Service):
async def _get( async def _get(
self, url: str, api_key: Optional[str] = None, params: Optional[Dict[str, Any]] = None self, url: str, api_key: Optional[str] = None, params: Optional[Dict[str, Any]] = None
) -> Union[List[Dict[str, Any]], Dict[str, Any]]: ) -> List[Dict[str, Any]]:
"""Utility method to perform GET requests.""" """Utility method to perform GET requests."""
if api_key: if api_key:
headers = {"Authorization": f"Bearer {api_key}"} headers = {"Authorization": f"Bearer {api_key}"}
@ -91,7 +91,10 @@ class StoreService(Service):
raise exc raise exc
except Exception as exc: except Exception as exc:
raise ValueError(f"GET failed: {exc}") raise ValueError(f"GET failed: {exc}")
return response.json()["data"] result = response.json()["data"]
if isinstance(result, dict):
return [result]
return result
async def call_webhook(self, api_key: str, webhook_url: str, component_id: UUID) -> None: async def call_webhook(self, api_key: str, webhook_url: str, component_id: UUID) -> None:
# The webhook is a POST request with the data in the body # The webhook is a POST request with the data in the body
@ -317,16 +320,16 @@ class StoreService(Service):
likes = await self._get(url, api_key, params) likes = await self._get(url, api_key, params)
return likes return likes
async def get_component_likes_count(self, api_key: str, component_id: str) -> int: async def get_component_likes_count(self, component_id: str) -> int:
url = f"{self.components_url}/{component_id}" url = f"{self.components_url}/{component_id}"
params = { params = {
"fields": ",".join(["id", "count(liked_by)"]), "fields": ",".join(["id", "count(liked_by)"]),
} }
result = await self._get(url, api_key, params) result = await self._get(url, api_key=None, params=params)
if len(result) == 0: if len(result) == 0:
raise ValueError("Component not found") raise ValueError("Component not found")
likes = result["liked_by_count"] likes = result[0]["liked_by_count"]
# likes_by_count is a string # likes_by_count is a string
# try to convert it to int # try to convert it to int
try: try: