using System.Net; using YandexMusic.API.Common; using YandexMusic.API.Models.Common; using YandexMusic.API.Models.Playlist; using YandexMusic.API.Requests.Common; using YandexMusic.API.Requests.Common.Attributes; namespace YandexMusic.API.Requests.Playlist { [YApiRequest(WebRequestMethods.Http.Post, "users/{uid}/playlists/{kind}/change")] public class YPlaylistChangeBuilder : YRequestBuilder, (YPlaylist playlist, IEnumerable changes)> { public YPlaylistChangeBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth) { } protected override Dictionary GetSubstitutions((YPlaylist playlist, IEnumerable changes) tuple) { return new Dictionary { { "uid", storage.User.Uid }, { "kind", tuple.playlist.Kind } }; } protected override HttpContent GetContent((YPlaylist playlist, IEnumerable changes) tuple) { return new FormUrlEncodedContent(new Dictionary { { "kind", tuple.playlist.Kind }, { "revision", tuple.playlist.Revision.ToString() }, { "diff", SerializeJson(tuple.changes) } }); } } }