This commit is contained in:
Johan
2025-12-17 13:30:08 +01:00
parent cc50161771
commit 60b912d524
7 changed files with 39 additions and 85 deletions

View File

@@ -1,28 +1,24 @@
from typing import List, Optional
import httpx
from app.core.exceptions import DALException
from app.models.movie import Movie
from app.repositories._base_client import api_client
class MovieRepository:
async def list(self, skip: int = 0, limit: int = 100) -> List[Movie]:
# TODO : (Étape 2) Remplacer la ligne suivante par un appel à
# response = await api_client._request("GET", "/movies/", params={"skip": skip, "limit": limit})
# La ligne ci-dessous doit être décommentée une fois le TODO complété
response = await api_client._request("GET", "/movies/", params={"skip": skip, "limit": limit})
response = await api_client._request(
"GET", "/movies/", params={"skip": skip, "limit": limit}
)
return [Movie.model_validate(m) for m in response.json()]
async def find_by_id(self, movie_id: int) -> Optional[Movie]:
try:
response = await api_client._request("GET", f"/movies/{movie_id}")
# TODO : (Étape 2) Remplacer la ligne suivante par un appel à
# response = await api_client._request("GET", f"/movies/{movie_id}")
# La ligne ci-dessous doit être décommentée une fois le TODO complété
return Movie.model_validate(response.json())
except DALException as e:
if e.status_code == 404:
return None
raise
movie_repository = MovieRepository()
movie_repository = MovieRepository()