public async Task AddPlaylistTracksTest() { OpenTidlSession tidlSession = await loginLogic.BaseLogin(); var tidalApiLogic = new TidalApiLogic(tidlSession); string title = $"Test_{Guid.NewGuid()}"; //reusable as name might be unique logger.Write(LogLevel.Info, $"The title is : {title}"); var res = await tidalApiLogic.CreateUserPlaylistWithTitle(title); var indices = new List <int> { 126462757 }; //from actual website - not finded another way var addPlaylistTracksResponse = await tidalApiLogic.AddPlaylistTracks(res.Uuid, res.ETag, indices); var userPlayList = await tidlSession.GetUserPlaylists(); Assert.AreEqual(userPlayList.ETag, addPlaylistTracksResponse.ETag); }
public async Task <bool> DeletePlaylistTracks(string uuid) { var current = await tidlSession.GetPlaylistTracks(uuid); var userPlayList = await tidlSession.GetUserPlaylists(); var ListOfIds = userPlayList.Items.Select(x => x.Id).ToList();//Run on Object and take only ids var deleteResponse = await tidlSession.DeletePlaylistTracks(uuid, current.ETag, ListOfIds); if (!string.IsNullOrEmpty(deleteResponse.ETag)) { logger.Write(LogLevel.Info, $"Deleted for tag {deleteResponse.ETag}, and uuid: {uuid}"); } var reTryGet = await GetPlayListTracks(uuid);//After deleted i check that there is no playlisttracks var isDeleted = reTryGet == null || reTryGet.Items.Length == 0; return(isDeleted); }
//public void Task<PlaylistModel> AddPlaylistTracks(String playlistUuid, String playlistETag, IEnumerable<Int32> trackIds, Int32 toIndex = 0) //{ // logger.Debug("Add playlist tracks"); //} //public void DeletePlaylistTracks(String playlistUuid, String playlistETag, IEnumerable<Int32> indices) //{ // logger.Debug("Delete Playlist tracks"); //} public async Task <JsonList <PlaylistModel> > GetUserPlaylists(Int32 limit = 9999) { StaticLogger.LogInfo(this.GetType(), "Get user playlists"); return(await session.GetUserPlaylists(limit)); }
public async Task <JsonList <PlaylistModel> > GetUserPlaylists() { return(await tidlSession.GetUserPlaylists()); }