using System.Text.Json.Serialization;

namespace economy.Models.Financial.International
{
    // 검색결과 변수
    public class Response
    {
        [JsonPropertyName("result")]
        public int Result { get; set; }

        [JsonPropertyName("cur_fund")]
        public string? CurFund { get; set; }

        [JsonPropertyName("sfln_intrc_nm")]
        public string? SflnIntrcNm { get; set; }

        [JsonPropertyName("int_r")]
        public string? IntR { get; set; }

        [JsonPropertyName("sofr_list")]
        public List<Data>? SofrList { get; set; }

        [JsonPropertyName("estr_list")]
        public List<Data>? EstrList { get; set; }

        [JsonPropertyName("euribor_list")]
        public List<Data>? EuriborList { get; set; }

        [JsonPropertyName("tona_list")]
        public List<Data>? TonaList { get; set; }

        [JsonPropertyName("tibor_list")]
        public List<Data>? TiborList { get; set; }

        [JsonPropertyName("swapRfr_list")]
        public List<Data>? SwapRfrList { get; set; }

        [JsonPropertyName("libor_list")]
        public List<Data>? LiborList { get; set; }

        [JsonPropertyName("swap_list")]
        public List<Data>? SwapList { get; set; }

        [JsonPropertyName("cirr_list")]
        public List<Data>? CirrList { get; set; }

        [JsonPropertyName("new_cirr_list")]
        public List<Data>? NewCirrList { get; set; }
    }

    public class Data
    {
        [JsonPropertyName("result")]
        public int Result { get; set; }

        [JsonPropertyName("cur_fund")]
        public string? CurFund { get; set; } // 통화

        [JsonPropertyName("sfln_intrc_nm")]
        public string? InterestName { get; set; } // 기간

        [JsonPropertyName("int_r")]
        public string? InterestRate { get; set; } // 금리

        [JsonPropertyName("sofr_list")]
        public object? SofrList { get; set; }

        [JsonPropertyName("estr_list")]
        public object? EstrList { get; set; }

        [JsonPropertyName("euribor_list")]
        public object? EuriborList { get; set; }

        [JsonPropertyName("tona_list")]
        public object? TonaList { get; set; }

        [JsonPropertyName("tibor_list")]
        public object? TiborList { get; set; }

        [JsonPropertyName("swapRfr_list")]
        public object? SwapRfrList { get; set; }

        [JsonPropertyName("libor_list")]
        public object? LiborList { get; set; }

        [JsonPropertyName("swap_list")]
        public object? SwapList { get; set; }

        [JsonPropertyName("cirr_list")]
        public object? CirrList { get; set; }

        [JsonPropertyName("new_cirr_list")]
        public object? NewCirrList { get; set; }
    }
}