using Sony.Filtr.ApolloAPI.Models.Apple; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Sony.Filtr.ApolloAPI { public interface IApolloAppleWebApi { Task GetPlaylistWithFullTracklistAsync(string storefront, string playlistId); Task GetPlaylistWithFullTracklistAsync(string storefront, string playlistId, TimeSpan cacheExpiration); Task> GetPlaylistsWithFullTracklistsAsync(string storefront, IEnumerable playlistIds); Task> GetPlaylistsWithFullTracklistsAsync(string storefront, IEnumerable playlistIds, TimeSpan cacheExpiration); Task> GetPlaylistTracksAsync(string storefront, string playlistId); Task> GetPlaylistTracksAsync(string storefront, string playlistId, TimeSpan cacheExpiration); Task> GetSongsAsync(string storefrontId, IEnumerable songIds, TimeSpan cacheExpiration); Task> GetSongsAsync(string storefrontId, IEnumerable songIds); Task> GetArtistsAsync(string storefrontId, IEnumerable artistIds, TimeSpan cacheExpiration); Task> GetArtistsAsync(string storefrontId, IEnumerable artistIds); Task> GetAlbumsAsync(string storefrontId, IEnumerable albumIds, TimeSpan cacheExpiration); Task> GetAlbumsAsync(string storefrontId, IEnumerable albumIds); Task GetAllStorefrontsAsync(); Task GetAllStorefrontsAsync(TimeSpan cacheExpiration); Task GetPlaylistAsync(string storeFront, string playlistId, string jobName = null); Task GetPlaylistAsync(string storeFront, string playlistId, TimeSpan cacheExpiration, string jobName = null); Task GetCuratorsAsync(string storeFrontId, IEnumerable curatorIds); Task GetCuratorsAsync(string storeFrontId, IEnumerable curatorIds, TimeSpan cacheExpiration); Task GetCuratorPlaylistIdsAsync(string storeFrontId, long curatorId, TimeSpan cacheExpiration); Task GetCuratorPlaylistIdsAsync(string storeFrontId, long curatorId); } }