Обнновлено до .net10

This commit is contained in:
FrigaT
2026-04-10 15:05:32 +03:00
parent 11d0b0d72f
commit 8444fc5f8e
386 changed files with 6361 additions and 7164 deletions

View File

@@ -6,21 +6,20 @@ 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)
{
}
namespace YandexMusic.API.Requests.Playlist;
protected override Dictionary<string, string> GetSubstitutions((string user, string kind) tuple)
{
return new Dictionary<string, string> {
{ "user", tuple.user },
{ "kind", tuple.kind },
};
}
[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 },
};
}
}

View File

@@ -6,20 +6,19 @@ 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)
{
}
namespace YandexMusic.API.Requests.Playlist;
protected override Dictionary<string, string> GetSubstitutions(string uuid)
{
return new Dictionary<string, string> {
{ "uuid", uuid },
};
}
[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 },
};
}
}

View File

@@ -6,20 +6,19 @@ 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)
{
}
namespace YandexMusic.API.Requests.Playlist;
protected override Dictionary<string, string> GetSubstitutions(object tuple)
{
return new Dictionary<string, string> {
{ "uid", storage.User.Uid }
};
}
[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 }
};
}
}

View File

@@ -6,20 +6,19 @@ 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)
{
}
namespace YandexMusic.API.Requests.Playlist;
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}")) }
});
}
[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}")) }
});
}
}

View File

@@ -6,30 +6,29 @@ using YandexMusic.API.Models.Playlist;
using YandexMusic.API.Requests.Common;
using YandexMusic.API.Requests.Common.Attributes;
namespace YandexMusic.API.Requests.Playlist
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)>
{
[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)
{
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 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) }
});
}
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) }
});
}
}

View File

@@ -6,28 +6,27 @@ using YandexMusic.API.Models.Playlist;
using YandexMusic.API.Requests.Common;
using YandexMusic.API.Requests.Common.Attributes;
namespace YandexMusic.API.Requests.Playlist
namespace YandexMusic.API.Requests.Playlist;
[YApiRequest(WebRequestMethods.Http.Post, "users/{uid}/playlists/create")]
public class YPlaylistCreateBuilder : YRequestBuilder<YResponse<YPlaylist>, string>
{
[YApiRequest(WebRequestMethods.Http.Post, "users/{uid}/playlists/create")]
public class YPlaylistCreateBuilder : YRequestBuilder<YResponse<YPlaylist>, string>
public YPlaylistCreateBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
{
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 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" }
});
}
protected override HttpContent GetContent(string name)
{
return new FormUrlEncodedContent(new Dictionary<string, string> {
{ "title", name },
{ "visibility", "public" }
});
}
}

View File

@@ -6,28 +6,27 @@ using YandexMusic.API.Models.Playlist;
using YandexMusic.API.Requests.Common;
using YandexMusic.API.Requests.Common.Attributes;
namespace YandexMusic.API.Requests.Playlist
namespace YandexMusic.API.Requests.Playlist;
[YApiRequest(WebRequestMethods.Http.Post, "users/{uid}/playlists/{kind}/name")]
public class YPlaylistRenameBuilder : YRequestBuilder<YResponse<YPlaylist>, (string kind, string name)>
{
[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)
{
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 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 }
});
}
protected override HttpContent GetContent((string kind, string name) tuple)
{
return new FormUrlEncodedContent(new Dictionary<string, string> {
{ "value", tuple.name }
});
}
}

View File

@@ -4,21 +4,20 @@ 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)
{
}
namespace YandexMusic.API.Requests.Playlist;
protected override Dictionary<string, string> GetSubstitutions(string kind)
{
return new Dictionary<string, string> {
{ "uid", storage.User.Uid },
{ "kind", kind }
};
}
[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 }
};
}
}