from aiohttp import web from server.legacy.delphi import views URL_PREFIX: str = "/api/delphi" def init_routes(app: web.Application) -> None: app.add_routes( [ web.get(URL_PREFIX + "/amazon/tracks/v1/streams", views.amazon_tracks_streams_v1_view), web.get(URL_PREFIX + "/total-streams-count-bulk", views.total_streams_count_bulk_view), web.post(URL_PREFIX + "/spotify-demographics", views.spotify_streams_demographic), web.post(URL_PREFIX + "/apple-demographics", views.apple_streams_demographic), web.get(URL_PREFIX + "/streams", views.delphi_streams_view), web.get(URL_PREFIX + "/stream-dates", views.delphi_first_stream_dates_view), web.get(URL_PREFIX + "/data-health/completeness", views.delphi_latest_stream_dates_view), web.get(URL_PREFIX + "/video-analytics", views.delphi_video_analytics_view), web.get(URL_PREFIX + "/videos", views.delphi_videos_view), web.get(URL_PREFIX + r"/videos/{video_id:\w+(?:-\w+)*}", views.delphi_video_details_view), web.get(URL_PREFIX + "/charts", views.delphi_charts_view), web.get(URL_PREFIX + "/data-health/chart-positions", views.delphi_chart_positions_dates_view), web.get(URL_PREFIX + "/video-positions/charts", views.delphi_video_positions_charts_view), web.get(URL_PREFIX + "/video-positions/charts/summary", views.delphi_video_positions_charts_summary_view), web.get(URL_PREFIX + "/tiktok/tracks/analytics", views.delphi_tiktok_tracks_analytics_view), web.get(URL_PREFIX + "/charts/analytics", views.delphi_charts_analytics_view), web.get(URL_PREFIX + "/tracks/charts", views.delphi_tracks_charts_view), web.get(URL_PREFIX + "/public/playlists/followers", views.delphi_playlists_followers_view), ] )