from typing import Any, Dict, Optional from .base import ApiClient class JellyseerrClient(ApiClient): async def get_status(self) -> Optional[Dict[str, Any]]: return await self.get("/api/v1/status") async def get_request(self, request_id: str) -> Optional[Dict[str, Any]]: return await self.get(f"/api/v1/request/{request_id}") async def get_recent_requests(self, take: int = 10, skip: int = 0) -> Optional[Dict[str, Any]]: return await self.get( "/api/v1/request", params={ "take": take, "skip": skip, }, ) async def get_media(self, media_id: int) -> Optional[Dict[str, Any]]: return await self.get(f"/api/v1/media/{media_id}") async def get_movie(self, tmdb_id: int) -> Optional[Dict[str, Any]]: return await self.get(f"/api/v1/movie/{tmdb_id}") async def get_tv(self, tmdb_id: int) -> Optional[Dict[str, Any]]: return await self.get(f"/api/v1/tv/{tmdb_id}") async def search(self, query: str, page: int = 1) -> Optional[Dict[str, Any]]: return await self.get( "/api/v1/search", params={ "query": query, "page": page, }, )