using Sony.Filtr.ApolloAPI.Models; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Sony.Filtr.ApolloAPI { public interface IApolloWebApi { Task IsSonyTrack(IEnumerable spotifyIds, string market, TimeSpan cacheExpiration); Task IsSonyTrack(IEnumerable spotifyIds, string market); Task GetSpotifyTracks(IEnumerable trackIds, string market, TimeSpan cacheExpiration); Task GetSpotifyTracks(IEnumerable trackIds, string market); Task GetSpotifyPlaylistByIdAsync(string playlistId, TimeSpan cacheExpiration, string fields = null); Task GetSpotifyPlaylistByIdAsync(string playlistId, string fields = null); Task GetAllPlaylistTracksByIdAsync(string playlistId, TimeSpan cacheExpiration, string fields = null, string market = null); Task GetAllPlaylistTracksByIdAsync(string playlistId, string fields = null, string market = null); Task GetPlaylistByIdWithAllTracksAsync(string playlistId, TimeSpan cacheExpiration, string playlistFields = null, string market = null); Task GetPlaylistByIdWithAllTracksAsync(string playlistId, string playlistFields = null, string market = null); Task GetAllAlbumInfoAsync(IEnumerable ids, TimeSpan cacheExpiration, string market = null, string fields = null); Task GetAllAlbumInfoAsync(IEnumerable ids, string market = null, string fields = null); Task GetAllAudioFeatureForTracksAsync(IEnumerable trackIds, TimeSpan cacheExpiration); Task GetAllAudioFeatureForTracksAsync(IEnumerable trackIds); Task GetPlaylistByIdWithAllTracksHavingSnapshotIdAsync(string playlistId, string snapshotId, TimeSpan cacheExpiration, string playlistFields = null, string market = null); Task GetPlaylistByIdWithAllTracksHavingSnapshotIdAsync(string playlistId, string snapshotId, string playlistFields = null, string market = null); Task SearchArtistsAsync(string artistName, TimeSpan cacheExpiration, string fields = null, int? limit = null, int? offset = null); Task SearchArtistsAsync(string artistName, string fields = null, int? limit = null, int? offset = null); Task> GetAllArtistsAsync(IEnumerable spotifyArtistIds, TimeSpan cacheExpiration); Task> GetAllArtistsAsync(IEnumerable spotifyArtistIds); Task GetAllPublicPlaylistsAsync(string userName, TimeSpan cacheExpiration, string fields = null); Task GetAllPublicPlaylistsAsync(string userName, string fields = null); Task GetUserAsync(string spotifyUsername, TimeSpan cacheExpiration, string fields = null); Task GetUserAsync(string spotifyUsername, string fields = null); Task GetBrowseFeaturedPlaylistsAsync(TimeSpan cacheExpiration, string country = null); Task GetBrowseFeaturedPlaylistsAsync(string country = null); Task GetAllBrowseCategoryPlaylistsAsync(string categoryId, TimeSpan cacheExpiration, string region = null); Task GetAllBrowseCategoryPlaylistsAsync(string categoryId, string region = null); Task GetAllBrowseCategoriesAsync(TimeSpan cacheExpiration, string region = null); Task GetAllBrowseCategoriesAsync(string region = null); Task GetPlaylistFavorites(); } }