using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Sony.Filtr.API.ViewModels; using Sony.Filtr.API.ViewModels.v3; using Sony.Filtr.Contracts.Definitions; using Sony.Filtr.Contracts.Entities; using Sony.Filtr.PlaylistGeneration; using Sony.Filtr.Search; using PlaylistViewModel = Sony.Filtr.API.ViewModels.v3.PlaylistViewModel; using ReleaseViewModel = Sony.Filtr.API.ViewModels.v3.ReleaseViewModel; namespace Sony.Filtr.API.Service { public interface IService3 { ServiceType ServiceType { get; } BootstrapViewModel GetBootstrapNew(string countryCode); Task> GetTracks(Application app, string countryCode, string tag, string artist); Task> GetTagsAsync(Application app, string[] artists, string[] tags); SeasonViewModel GetSeason(Application app); Task GetSearchAutocompleteLastModifiedAsync(Application app); Task> SearchAutocompleteAsync(Application app, string searchString); Task> GetNewReleasesAsync(Application app, string countryCode); Task GetNewReleasesLastModifiedDateAsync(Application application); Task GetPlaylistLastModifiedDateAsync(Application app); Task> GetPlaylistsAsync(Application app, DateTime? lastModified = null); Task> GetPlaylistTracksAsync(string playlistId); List GetCarouselImages(Application application); Task GetPromotedTracksLastModifiedAsync(Application app); Task> GetPromotedTracksAsync(Application app); List GetCategories(Application app); //List GetCategoriesCache(Application app); //Task GetPlaylistCategoriesLastModifiedDateAsync(Application application); MyJsonDictionary> GetGlobalization(Application app); Dictionary GetGlobalizationForLanguage(string language); BootstrapViewModel GetWorkoutBootstrap(Application application); Task> SearchTracksAsync(Application app, string countryCode, SearchTracksParameters searchTracksParameters); Task GetEditorialPlaylistAsync(int id); Task GetPopularArtistsLastModifiedAsync(Application application); Task> GetPopularArtistsAsync(Application application); Task> GetPopularTagsAsync(Application market); Task SearchAsync(Application application, string searchString); Task GetFiltrUsersLastModifiedAsync(); Task> GetFiltrUsersAsync(); Task> GetAvailableRegionsAsync(); Task GetAvailableRegionsLastModifiedAsync(); } }