Добавьте файлы проекта.
This commit is contained in:
26
YandexMusic.API/Requests/Playlist/YGetPlaylistBuilder.cs
Normal file
26
YandexMusic.API/Requests/Playlist/YGetPlaylistBuilder.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
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.Get, "users/{user}/playlists/{kind}")]
|
||||
public class YGetPlaylistBuilder : YRequestBuilder<YResponse<YPlaylist>, (string user, string kind)>
|
||||
{
|
||||
public YGetPlaylistBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions((string user, string kind) tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "user", tuple.user },
|
||||
{ "kind", tuple.kind },
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
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.Get, "playlist/{uuid}")]
|
||||
public class YGetPlaylistByUuidBuilder : YRequestBuilder<YResponse<YPlaylist>, string>
|
||||
{
|
||||
public YGetPlaylistByUuidBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions(string uuid)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uuid", uuid },
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
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.Get, "users/{uid}/playlists/list")]
|
||||
public class YGetPlaylistFavoritesBuilder : YRequestBuilder<YResponse<List<YPlaylist>>, object>
|
||||
{
|
||||
public YGetPlaylistFavoritesBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions(object tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uid", storage.User.Uid }
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
25
YandexMusic.API/Requests/Playlist/YGetPlaylistsBuilder.cs
Normal file
25
YandexMusic.API/Requests/Playlist/YGetPlaylistsBuilder.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
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, "playlists/list")]
|
||||
public class YGetPlaylistsBuilder : YRequestBuilder<YResponse<List<YPlaylist>>, IEnumerable<(string User, string Kind)>>
|
||||
{
|
||||
public YGetPlaylistsBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override HttpContent GetContent(IEnumerable<(string User, string Kind)> playlistIds)
|
||||
{
|
||||
return new FormUrlEncodedContent(new Dictionary<string, string> {
|
||||
{ "playlist-Ids", string.Join(",", playlistIds.Select(t => $"{t.User}:{t.Kind}")) }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
35
YandexMusic.API/Requests/Playlist/YPlaylistChangeBuilder.cs
Normal file
35
YandexMusic.API/Requests/Playlist/YPlaylistChangeBuilder.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
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<YResponse<YPlaylist>, (YPlaylist playlist, IEnumerable<YPlaylistChange> changes)>
|
||||
{
|
||||
public YPlaylistChangeBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions((YPlaylist playlist, IEnumerable<YPlaylistChange> changes) tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uid", storage.User.Uid },
|
||||
{ "kind", tuple.playlist.Kind }
|
||||
};
|
||||
}
|
||||
|
||||
protected override HttpContent GetContent((YPlaylist playlist, IEnumerable<YPlaylistChange> changes) tuple)
|
||||
{
|
||||
return new FormUrlEncodedContent(new Dictionary<string, string> {
|
||||
{ "kind", tuple.playlist.Kind },
|
||||
{ "revision", tuple.playlist.Revision.ToString() },
|
||||
{ "diff", SerializeJson(tuple.changes) }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
33
YandexMusic.API/Requests/Playlist/YPlaylistCreateBuilder.cs
Normal file
33
YandexMusic.API/Requests/Playlist/YPlaylistCreateBuilder.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
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/create")]
|
||||
public class YPlaylistCreateBuilder : YRequestBuilder<YResponse<YPlaylist>, string>
|
||||
{
|
||||
public YPlaylistCreateBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions(string name)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uid", storage.User.Uid }
|
||||
};
|
||||
}
|
||||
|
||||
protected override HttpContent GetContent(string name)
|
||||
{
|
||||
return new FormUrlEncodedContent(new Dictionary<string, string> {
|
||||
{ "title", name },
|
||||
{ "visibility", "public" }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
33
YandexMusic.API/Requests/Playlist/YPlaylistRemoveBuilder.cs
Normal file
33
YandexMusic.API/Requests/Playlist/YPlaylistRemoveBuilder.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
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}/name")]
|
||||
public class YPlaylistRenameBuilder : YRequestBuilder<YResponse<YPlaylist>, (string kind, string name)>
|
||||
{
|
||||
public YPlaylistRenameBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions((string kind, string name) tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uid", storage.User.Uid },
|
||||
{ "kind", tuple.kind }
|
||||
};
|
||||
}
|
||||
|
||||
protected override HttpContent GetContent((string kind, string name) tuple)
|
||||
{
|
||||
return new FormUrlEncodedContent(new Dictionary<string, string> {
|
||||
{ "value", tuple.name }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
24
YandexMusic.API/Requests/Playlist/YPlaylistRenameBuilder.cs
Normal file
24
YandexMusic.API/Requests/Playlist/YPlaylistRenameBuilder.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Net;
|
||||
|
||||
using YandexMusic.API.Common;
|
||||
using YandexMusic.API.Requests.Common;
|
||||
using YandexMusic.API.Requests.Common.Attributes;
|
||||
|
||||
namespace YandexMusic.API.Requests.Playlist
|
||||
{
|
||||
[YApiRequest(WebRequestMethods.Http.Post, "users/{uid}/playlists/{kind}/delete")]
|
||||
public class YPlaylistRemoveBuilder : YRequestBuilder<HttpResponseMessage, string>
|
||||
{
|
||||
public YPlaylistRemoveBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions(string kind)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "uid", storage.User.Uid },
|
||||
{ "kind", kind }
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user