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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 4
0
 public async Task <JsonList <PlaylistModel> > GetUserPlaylists()
 {
     return(await tidlSession.GetUserPlaylists());
 }