feat(Core): update DTOs and shared models
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace FinlyticCore.Dtos.Yahoo;
|
||||
|
||||
/// <summary>
|
||||
/// Response object for Yahoo Finance chart API (/v8/finance/chart/{symbol}).
|
||||
/// </summary>
|
||||
public record YahooChartResponseDto(
|
||||
[property: JsonPropertyName("chart")] YahooChartResultWrapperDto? Chart
|
||||
);
|
||||
|
||||
public record YahooChartResultWrapperDto(
|
||||
[property: JsonPropertyName("result")] List<YahooChartResultDto>? Result,
|
||||
[property: JsonPropertyName("error")] object? Error
|
||||
);
|
||||
|
||||
public record YahooChartResultDto(
|
||||
[property: JsonPropertyName("meta")] YahooChartMetaDto? Meta,
|
||||
[property: JsonPropertyName("timestamp")] List<long>? Timestamp,
|
||||
[property: JsonPropertyName("indicators")] YahooChartIndicatorsDto? Indicators
|
||||
);
|
||||
|
||||
public record YahooChartMetaDto(
|
||||
[property: JsonPropertyName("currency")] string? Currency,
|
||||
[property: JsonPropertyName("symbol")] string? Symbol,
|
||||
[property: JsonPropertyName("exchangeName")] string? ExchangeName,
|
||||
[property: JsonPropertyName("fullExchangeName")] string? FullExchangeName,
|
||||
[property: JsonPropertyName("instrumentType")] string? InstrumentType,
|
||||
[property: JsonPropertyName("firstTradeDate")] long? FirstTradeDate,
|
||||
[property: JsonPropertyName("regularMarketTime")] long? RegularMarketTime,
|
||||
[property: JsonPropertyName("hasPrePostMarketData")] bool? HasPrePostMarketData,
|
||||
[property: JsonPropertyName("gmtoffset")] int? GmtOffset,
|
||||
[property: JsonPropertyName("timezone")] string? Timezone,
|
||||
[property: JsonPropertyName("exchangeTimezoneName")] string? ExchangeTimezoneName,
|
||||
[property: JsonPropertyName("regularMarketPrice")] double? RegularMarketPrice,
|
||||
[property: JsonPropertyName("fiftyTwoWeekHigh")] double? FiftyTwoWeekHigh,
|
||||
[property: JsonPropertyName("fiftyTwoWeekLow")] double? FiftyTwoWeekLow,
|
||||
[property: JsonPropertyName("regularMarketDayHigh")] double? RegularMarketDayHigh,
|
||||
[property: JsonPropertyName("regularMarketDayLow")] double? RegularMarketDayLow,
|
||||
[property: JsonPropertyName("regularMarketVolume")] long? RegularMarketVolume,
|
||||
[property: JsonPropertyName("chartPreviousClose")] double? ChartPreviousClose,
|
||||
[property: JsonPropertyName("previousClose")] double? PreviousClose,
|
||||
[property: JsonPropertyName("scale")] int? Scale,
|
||||
[property: JsonPropertyName("priceHint")] int? PriceHint,
|
||||
[property: JsonPropertyName("dataGranularity")] string? DataGranularity,
|
||||
[property: JsonPropertyName("range")] string? Range,
|
||||
[property: JsonPropertyName("validRanges")] List<string>? ValidRanges
|
||||
);
|
||||
|
||||
public record YahooChartIndicatorsDto(
|
||||
[property: JsonPropertyName("quote")] List<YahooChartQuoteDto>? Quote,
|
||||
[property: JsonPropertyName("adjclose")] List<YahooChartAdjCloseDto>? AdjClose
|
||||
);
|
||||
|
||||
public record YahooChartQuoteDto(
|
||||
[property: JsonPropertyName("open")] List<double?>? Open,
|
||||
[property: JsonPropertyName("high")] List<double?>? High,
|
||||
[property: JsonPropertyName("low")] List<double?>? Low,
|
||||
[property: JsonPropertyName("close")] List<double?>? Close,
|
||||
[property: JsonPropertyName("volume")] List<long?>? Volume
|
||||
);
|
||||
|
||||
public record YahooChartAdjCloseDto(
|
||||
[property: JsonPropertyName("adjclose")] List<double?>? AdjClose
|
||||
);
|
||||
Reference in New Issue
Block a user