using Sony.Filtr.Contracts.Entities; using Sony.Filtr.Contracts.Entities.Genre; using System.Collections.Generic; using System.Threading.Tasks; namespace Sony.Filtr.Core.EditorialPlaylists { public interface IEditorialPlaylistFactory { EditorialPlaylist AddEditorialPlaylist(EditorialPlaylist pl); void UpdateEditorialPlaylist(EditorialPlaylist pl); Task DeleteEditorialPlaylistAsync(EditorialPlaylist playlist); Task SetEditorialPlaylistGenresAsync(EditorialPlaylist playlist, List genreMatches); //Task SetEditorialPlaylistTracksAsync(EditorialPlaylist playlist, List tracks); Task> GetEditorialPlaylistsAsync(Application application, bool onlyActive, bool lightWeight = false); Task> GetUniqueSonySpotifyPlaylistsAsync(); Task GetEditorialPlaylistAsync(int editorialPlayListId); Task> GetEditorialPlaylistsAsync(string spotifyUsername, int applicationId); Task>> GetPlaylistGenresAsync(List editorialPlaylists); Task>> GetArtistsAsync(List playlistIds); void UpdatePlaylistImportFields(EditorialPlaylist playlist); Task> GetEditorialPlaylistsAsync(List playlistUris); Task> GetEditorialPlaylistsByIdAsync(List playlistIds); } }