feat(Core): update DTOs and shared models

This commit is contained in:
2026-08-09 21:01:38 +02:00
parent 6337e63a77
commit 5475c3ac51
58 changed files with 3418 additions and 30 deletions
@@ -0,0 +1,73 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace FinlyticCore.Dtos.Yahoo;
/// <summary>
/// Root DTO response returned by https://query2.finance.yahoo.com/v1/finance/search
/// </summary>
public class YahooSearchResponseDto
{
[JsonPropertyName("count")]
public int Count { get; set; }
[JsonPropertyName("quotes")]
public List<YahooSearchQuoteDto> Quotes { get; set; } = new();
[JsonPropertyName("totalTime")]
public int TotalTime { get; set; }
[JsonPropertyName("timeTakenForQuotes")]
public int TimeTakenForQuotes { get; set; }
}
/// <summary>
/// Represents an individual quote item returned within the Yahoo Finance search results.
/// </summary>
public class YahooSearchQuoteDto
{
[JsonPropertyName("symbol")]
public string Symbol { get; set; } = string.Empty;
[JsonPropertyName("shortname")]
public string? ShortName { get; set; }
[JsonPropertyName("longname")]
public string? LongName { get; set; }
[JsonPropertyName("exchange")]
public string? Exchange { get; set; }
[JsonPropertyName("exchDisp")]
public string? ExchDisp { get; set; }
[JsonPropertyName("quoteType")]
public string? QuoteType { get; set; }
[JsonPropertyName("typeDisp")]
public string? TypeDisp { get; set; }
[JsonPropertyName("index")]
public string? Index { get; set; }
[JsonPropertyName("score")]
public double Score { get; set; }
[JsonPropertyName("sector")]
public string? Sector { get; set; }
[JsonPropertyName("sectorDisp")]
public string? SectorDisp { get; set; }
[JsonPropertyName("industry")]
public string? Industry { get; set; }
[JsonPropertyName("industryDisp")]
public string? IndustryDisp { get; set; }
[JsonPropertyName("dispSecIndFlag")]
public bool DispSecIndFlag { get; set; }
[JsonPropertyName("isYahooFinance")]
public bool IsYahooFinance { get; set; }
}