from aiohttp import web from aiohttp_apispec import docs, querystring_schema from server.constants import BASE_API_PREFIX from server.scenarios.playlists.get_playlist_meta.amazon import get_playlist_amazon_meta from server.schemas.playlists.amazon.meta import PlaylistsAmazon from server.utils.response import dump_response_schema router = web.RouteTableDef() @router.get(BASE_API_PREFIX + "/playlists/amazon/") @docs( tags=["playlist", "amazon"], summary="Get Amazon playlist(s) meta by amazon playlist id(s).", ) @querystring_schema(PlaylistsAmazon.Request) @dump_response_schema(PlaylistsAmazon.Response(many=True)) async def get(request: web.Request) -> web.Response: params = request["querystring"] playlist_id_list = params["playlist_ids"] return await get_playlist_amazon_meta(playlist_id_list)