using System.Text.Json.Serialization;

namespace YandexMusic.API.Models.Account;

public class YAuthTypes : YAuthBase
{
    [JsonPropertyName("primary_alias_type")]
    public string PrimaryAliasType { get; set; }

    [JsonPropertyName("csrf_token")]
    public string CsrfToken { get; set; }

    public string LocCsrf { get; set; }

    [JsonPropertyName("use_new_suggest_by_phone")]
    public bool UseNewSuggestByPhone { get; set; }

    [JsonPropertyName("is_rfc_2fa_enabled")]
    public bool IsRfc2faEnabled { get; set; }

    [JsonPropertyName("track_id")]
    public string TrackId { get; set; }

    [JsonPropertyName("can_authorize")]
    public string CanAuthorize { get; set; }

    [JsonPropertyName("preferred_auth_method")]
    public YAuthMethod PreferredAuthMethod { get; set; }

    [JsonPropertyName("auth_methods")]
    public List<YAuthMethod> AuthMethods { get; set; }

    [JsonPropertyName("can_register")]
    public bool CanRegister { get; set; }

    [JsonPropertyName("location_id")]
    public string LocationId { get; set; }

    public string Country { get; set; }

    [JsonPropertyName("phone_number")]
    public YPhoneNumber PhoneNumberNumber { get; set; }

    [JsonPropertyName("magic_link_email")]
    public string MagicLinkEmail { get; set; }

    public string TractorTargetLocationHost { get; set; }
}