using System.Collections.Generic; using System.Text.Json.Serialization; namespace FinlyticCore.Dtos.Yahoo; /// /// Response object for Yahoo Finance quick quotes API (/v7/finance/quote?symbols=...). /// public record YahooQuoteResponseDto( [property: JsonPropertyName("quoteResponse")] YahooQuoteResultWrapperDto? QuoteResponse ); public record YahooQuoteResultWrapperDto( [property: JsonPropertyName("result")] List? Result, [property: JsonPropertyName("error")] object? Error ); public record YahooQuoteItemDto( [property: JsonPropertyName("language")] string? Language, [property: JsonPropertyName("region")] string? Region, [property: JsonPropertyName("quoteType")] string? QuoteType, [property: JsonPropertyName("typeDisp")] string? TypeDisp, [property: JsonPropertyName("quoteSourceName")] string? QuoteSourceName, [property: JsonPropertyName("triggerable")] bool? Triggerable, [property: JsonPropertyName("customPriceAlertConfidence")] string? CustomPriceAlertConfidence, [property: JsonPropertyName("currency")] string? Currency, [property: JsonPropertyName("marketState")] string? MarketState, [property: JsonPropertyName("exchange")] string? Exchange, [property: JsonPropertyName("shortName")] string? ShortName, [property: JsonPropertyName("longName")] string? LongName, [property: JsonPropertyName("messageBoardId")] string? MessageBoardId, [property: JsonPropertyName("exchangeTimezoneName")] string? ExchangeTimezoneName, [property: JsonPropertyName("exchangeTimezoneShortName")] string? ExchangeTimezoneShortName, [property: JsonPropertyName("gmtOffSetMilliseconds")] long? GmtOffSetMilliseconds, [property: JsonPropertyName("market")] string? Market, [property: JsonPropertyName("esgPopulated")] bool? EsgPopulated, [property: JsonPropertyName("regularMarketChangePercent")] double? RegularMarketChangePercent, [property: JsonPropertyName("regularMarketPrice")] double? RegularMarketPrice, [property: JsonPropertyName("regularMarketChange")] double? RegularMarketChange, [property: JsonPropertyName("regularMarketTime")] long? RegularMarketTime, [property: JsonPropertyName("regularMarketDayHigh")] double? RegularMarketDayHigh, [property: JsonPropertyName("regularMarketDayRange")] string? RegularMarketDayRange, [property: JsonPropertyName("regularMarketDayLow")] double? RegularMarketDayLow, [property: JsonPropertyName("regularMarketVolume")] long? RegularMarketVolume, [property: JsonPropertyName("regularMarketPreviousClose")] double? RegularMarketPreviousClose, [property: JsonPropertyName("bid")] double? Bid, [property: JsonPropertyName("ask")] double? Ask, [property: JsonPropertyName("bidSize")] long? BidSize, [property: JsonPropertyName("askSize")] long? AskSize, [property: JsonPropertyName("fullExchangeName")] string? FullExchangeName, [property: JsonPropertyName("financialCurrency")] string? FinancialCurrency, [property: JsonPropertyName("regularMarketOpen")] double? RegularMarketOpen, [property: JsonPropertyName("averageDailyVolume3Month")] long? AverageDailyVolume3Month, [property: JsonPropertyName("averageDailyVolume10Day")] long? AverageDailyVolume10Day, [property: JsonPropertyName("fiftyTwoWeekLowChange")] double? FiftyTwoWeekLowChange, [property: JsonPropertyName("fiftyTwoWeekLowChangePercent")] double? FiftyTwoWeekLowChangePercent, [property: JsonPropertyName("fiftyTwoWeekRange")] string? FiftyTwoWeekRange, [property: JsonPropertyName("fiftyTwoWeekHighChange")] double? FiftyTwoWeekHighChange, [property: JsonPropertyName("fiftyTwoWeekHighChangePercent")] double? FiftyTwoWeekHighChangePercent, [property: JsonPropertyName("fiftyTwoWeekLow")] double? FiftyTwoWeekLow, [property: JsonPropertyName("fiftyTwoWeekHigh")] double? FiftyTwoWeekHigh, [property: JsonPropertyName("marketCap")] double? MarketCap, [property: JsonPropertyName("symbol")] string Symbol = "" );