from apollo_utils.service.clients.aiohttp.clients.base.client import ApiTokenClient from apollo_utils.service.clients.aiohttp.clients.base.config import ApiTokenClientConfig from apollo_utils.service.clients.aiohttp.clients.constants import Service from server import config class RtiApiConfig(ApiTokenClientConfig): service = Service.RTI_API.value uri = config.RTI_HOST auth_url = f"{config.AUTH0_DOMAIN}/oauth/token" auth_client_id = config.RTI_AUTH0_CLIENT_ID auth_client_secret = config.RTI_AUTH0_CLIENT_SECRET auth_audience = config.RTI_AUTH0_AUDIENCE auth_grant_type = "client_credentials" class RtiApiClient(ApiTokenClient): async def get_favorites(self): response = await self.send_request("api/data/favorites/isrc/") return {"tracks": response.get("isrcs")} async def get_milestones(self): return await self.send_request("api/data/subscriptions/milestone/v2/")