from aiohttp import web from aiohttp_apispec import docs, querystring_schema from apollo_utils.service.clients.aiohttp.utils.response import dump_response_schema from server.constants import BASE_API_PREFIX from server.scenarios.playlists.v0.amazon.tracks import get_tracks from server.schemas.playlists.v0.amazon.tracks import PlaylistTracks router = web.RouteTableDef() @router.get(BASE_API_PREFIX + "/playlists/amazon/tracks/") @docs(tags=["amazon", "playlists", "tracklist"], summary="Get amazon playlist tracklist.") @querystring_schema(PlaylistTracks.Request) @dump_response_schema(PlaylistTracks.Response, apply=True) async def get(request: web.Request) -> dict: return await get_tracks(**request["querystring"])