from aiohttp import web from server.track.views import ( track_videos_tiktok, track_videos_youtube, discovery, discovery_track_result, search_by_name, discovery_total_count, tracks_spotify, tracks_soundcloud, # v4 routes track_external_links_v4, ) URL_PREFIX: str = "/api/track" URL_PREFIX_V2: str = "/api/v2/track" URL_PREFIX_V3: str = "/api/v3/track" URL_PREFIX_V4: str = "/api/v4/track" def init_routes(app: web.Application) -> None: app.add_routes( [ web.get(URL_PREFIX + r"/search_by_name", search_by_name, name="search_track_by_name"), web.get( URL_PREFIX_V2 + r"/{id:\d+}/tracks/spotify", tracks_spotify, name="tracks_tracks_spotify", allow_head=False, ), web.get( URL_PREFIX_V2 + r"/{id:\d+}/videos/tiktok", track_videos_tiktok, name="track_videos_tiktok", allow_head=False, ), web.get( URL_PREFIX_V2 + r"/{id:\d+}/videos/youtube", track_videos_youtube, name="track_videos_youtube", allow_head=False, ), web.get( URL_PREFIX_V2 + r"/{id:\d+}/tracks/soundcloud", tracks_soundcloud, name="tracks_soundcloud", allow_head=False, ), web.post(URL_PREFIX + r"/discovery", discovery, name="discovery_track"), web.post( URL_PREFIX + r"/discovery/total_count", discovery_total_count, name="discovery_track_total_count", ), web.get( URL_PREFIX + r"/{id:\d+}/discovery_result", discovery_track_result, name="discovery_track_result", allow_head=False, ), # ================================= v4 routes ================================= web.get( URL_PREFIX_V4 + r"/{id:\d+}/external_links", track_external_links_v4, name="track_external_links_v4", allow_head=False, ), ] )