using System.Net;

using YandexMusic.API.Common;
using YandexMusic.API.Models.Common;
using YandexMusic.API.Models.Library;
using YandexMusic.API.Requests.Common;
using YandexMusic.API.Requests.Common.Attributes;

namespace YandexMusic.API.Requests.Library;

[YApiRequest(WebRequestMethods.Http.Get, "users/{uid}/{type}/{section}")]
public class YGetLibrarySectionBuilder<T> : YRequestBuilder<YResponse<T>, (YLibrarySection section, YLibrarySectionType type)>
{
    public YGetLibrarySectionBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
    {
    }

    protected override Dictionary<string, string> GetSubstitutions((YLibrarySection section, YLibrarySectionType type) tuple)
    {
        return new Dictionary<string, string> {
            { "uid", storage.User.Uid },
            { "type", tuple.type.ToString().ToLower() },
            { "section", tuple.section.ToString().ToLower() },
        };
    }
}