Spotify.NET/SpotifyAPI.Web/Models/Request/PlaylistRemoveItemsRequest.cs

56 lines
1.9 KiB
C#
Raw Normal View History

2020-05-02 21:48:21 +01:00
using System.Collections.Generic;
using Newtonsoft.Json;
namespace SpotifyAPI.Web
{
public class PlaylistRemoveItemsRequest : RequestParams
{
2020-05-30 23:11:05 +01:00
/// <summary>
///
/// </summary>
/// <param name="tracks">
/// An array of objects containing Spotify URIs of the tracks or episodes to remove.
/// For example: { "tracks": [{ "uri": "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" },
/// { "uri": "spotify:track:1301WleyT98MSxVHPZCA6M" }] }.
/// A maximum of 100 objects can be sent at once.
/// </param>
public PlaylistRemoveItemsRequest(IList<Item> tracks)
{
Ensure.ArgumentNotNullOrEmptyList(tracks, nameof(tracks));
Tracks = tracks;
}
2020-05-30 23:11:05 +01:00
/// <summary>
/// An array of objects containing Spotify URIs of the tracks or episodes to remove.
/// For example: { "tracks": [{ "uri": "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" },
/// { "uri": "spotify:track:1301WleyT98MSxVHPZCA6M" }] }.
/// A maximum of 100 objects can be sent at once.
/// </summary>
/// <value></value>
2020-05-02 21:48:21 +01:00
[BodyParam("tracks")]
public IList<Item> Tracks { get; }
2020-05-30 23:11:05 +01:00
/// <summary>
/// The playlists snapshot ID against which you want to make the changes.
/// The API will validate that the specified items exist and in the specified positions and make the changes,
/// even if more recent changes have been made to the playlist.
/// </summary>
/// <value></value>
2020-05-02 21:48:21 +01:00
[BodyParam("snapshot_id")]
2020-05-25 17:00:38 +01:00
public string? SnapshotId { get; set; }
2020-05-02 21:48:21 +01:00
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034")]
2020-05-02 21:48:21 +01:00
public class Item
{
[JsonProperty("uri", NullValueHandling = NullValueHandling.Ignore)]
2020-05-25 17:00:38 +01:00
public string? Uri { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227")]
[JsonProperty("positions", NullValueHandling = NullValueHandling.Ignore)]
2020-05-25 17:00:38 +01:00
public List<int>? Positions { get; set; }
2020-05-02 21:48:21 +01:00
}
}
}
2020-05-25 17:00:38 +01:00