230 lines
13 KiB
C#
230 lines
13 KiB
C#
using System.Text.Json.Serialization;
|
|
using FinlyticCore.Dtos;
|
|
using FinlyticCore.Dtos.Fundamentals;
|
|
using FinlyticCore.Dtos.News;
|
|
using FinlyticCore.Dtos.Sentiment;
|
|
using FinlyticCore.Dtos.TechnicalAnalysis;
|
|
using FinlyticCore.Dtos.Yahoo;
|
|
using FinlyticCore.Models.Trades;
|
|
using System.Collections.Generic;
|
|
using FinlyticCore.Models.Assets;
|
|
|
|
namespace FinlyticCore.Util;
|
|
|
|
[JsonSourceGenerationOptions(
|
|
WriteIndented = false,
|
|
PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase,
|
|
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Logging.LogMessageDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Logging.LogMessageDto>))]
|
|
[JsonSerializable(typeof(TradeAcceptanceDto))]
|
|
[JsonSerializable(typeof(List<TradeAcceptanceDto>))]
|
|
[JsonSerializable(typeof(TradeHourlyUpdateDto))]
|
|
[JsonSerializable(typeof(NewsArticleDto))]
|
|
[JsonSerializable(typeof(List<NewsArticleDto>))]
|
|
[JsonSerializable(typeof(DiscoveredArticle))]
|
|
[JsonSerializable(typeof(List<DiscoveredArticle>))]
|
|
[JsonSerializable(typeof(MatchedAssetDto))]
|
|
[JsonSerializable(typeof(List<MatchedAssetDto>))]
|
|
[JsonSerializable(typeof(FinBertResultDto))]
|
|
[JsonSerializable(typeof(UpdateNewsStatusRequest))]
|
|
[JsonSerializable(typeof(UpdateNewsStatusResponse))]
|
|
[JsonSerializable(typeof(N8nRequestPayload))]
|
|
[JsonSerializable(typeof(N8nResponsePayload))]
|
|
[JsonSerializable(typeof(N8nMatchedAssetPayload))]
|
|
[JsonSerializable(typeof(FilteredAssetPayload))]
|
|
[JsonSerializable(typeof(AssetFundamentalsDto))]
|
|
[JsonSerializable(typeof(List<AssetFundamentalsDto>))]
|
|
[JsonSerializable(typeof(TickerInfoDto))]
|
|
[JsonSerializable(typeof(List<TickerInfoDto>))]
|
|
[JsonSerializable(typeof(CorporateEventDto))]
|
|
[JsonSerializable(typeof(List<CorporateEventDto>))]
|
|
[JsonSerializable(typeof(CalendarEventResponseDto))]
|
|
[JsonSerializable(typeof(List<CalendarEventResponseDto>))]
|
|
[JsonSerializable(typeof(IsinSentimentSummaryDto))]
|
|
[JsonSerializable(typeof(IsinAnalysisEntry))]
|
|
[JsonSerializable(typeof(SectorSentimentSummaryDto))]
|
|
[JsonSerializable(typeof(GetSentimentByIsinRequest))]
|
|
[JsonSerializable(typeof(GetSectorSentimentRequest))]
|
|
|
|
[JsonSerializable(typeof(CandleDto))]
|
|
[JsonSerializable(typeof(List<CandleDto>))]
|
|
[JsonSerializable(typeof(IReadOnlyList<CandleDto>))]
|
|
[JsonSerializable(typeof(ChartPatternDto))]
|
|
[JsonSerializable(typeof(List<ChartPatternDto>))]
|
|
[JsonSerializable(typeof(IndicatorValuesDto))]
|
|
[JsonSerializable(typeof(List<IndicatorValuesDto>))]
|
|
[JsonSerializable(typeof(MarketRegimeDto))]
|
|
[JsonSerializable(typeof(StrategySignalDto))]
|
|
[JsonSerializable(typeof(List<StrategySignalDto>))]
|
|
[JsonSerializable(typeof(StrategyResultDto))]
|
|
[JsonSerializable(typeof(List<StrategyResultDto>))]
|
|
[JsonSerializable(typeof(UniverseSource))]
|
|
[JsonSerializable(typeof(TechnicalAnalysisDto))]
|
|
[JsonSerializable(typeof(LivePriceDto))]
|
|
[JsonSerializable(typeof(string))]
|
|
[JsonSerializable(typeof(int))]
|
|
[JsonSerializable(typeof(double))]
|
|
[JsonSerializable(typeof(bool))]
|
|
[JsonSerializable(typeof(object))]
|
|
// Named MQTT request DTOs (replaces anonymous types, required for source-gen serialization)
|
|
[JsonSerializable(typeof(LimitRequest))]
|
|
[JsonSerializable(typeof(PaginatedRequest))]
|
|
[JsonSerializable(typeof(DailyNewsRequest))]
|
|
[JsonSerializable(typeof(IsinRequest))]
|
|
[JsonSerializable(typeof(GetTradesRequest))]
|
|
[JsonSerializable(typeof(ArticleRequest))]
|
|
[JsonSerializable(typeof(AnalyzeSentimentRequest))]
|
|
[JsonSerializable(typeof(EmptyRequest))]
|
|
[JsonSerializable(typeof(GetEventsByMonthRequest))]
|
|
[JsonSerializable(typeof(GetTradeProposalsRequest))]
|
|
[JsonSerializable(typeof(GetActiveTradesRequest))]
|
|
[JsonSerializable(typeof(EvaluateAssetRequest))]
|
|
[JsonSerializable(typeof(AddTradeFillRequest))]
|
|
[JsonSerializable(typeof(UpdateTradeStopLossRequest))]
|
|
[JsonSerializable(typeof(CloseEngineTradeRequest))]
|
|
[JsonSerializable(typeof(AcceptTradeProposalRequest))]
|
|
[JsonSerializable(typeof(CreateManualTradeRequest))]
|
|
[JsonSerializable(typeof(RpcFaultCode))]
|
|
[JsonSerializable(typeof(RpcErrorResponse))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.ExecutionMode))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.TradeStatus))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.InstrumentCategoryType))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.TradeProposalDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Trading.TradeProposalDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.AssetEvaluationResultDto))]
|
|
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.DerivativeSelectionDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.AiValidationResultDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.ValidationSource))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.TradeFillDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Trading.TradeFillDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.ActiveTradeDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Trading.ActiveTradeDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.TriggerSource))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.OutcomeReason))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.GetEvaluationHistoryRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.EvaluationHistoryEntryDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Trading.EvaluationHistoryEntryDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.OutcomeReasonCountDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Trading.OutcomeReasonCountDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.EvaluationHistorySummaryDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Trading.GetEvaluationHistoryResponse))]
|
|
|
|
// Simulation DTOs
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.BacktestRequestDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.BacktestTradeDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Simulation.BacktestTradeDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.EquityPointDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Simulation.EquityPointDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.BacktestReportDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Simulation.BacktestReportDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.StrategyAssetReliabilityDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Simulation.StrategyAssetReliabilityDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.GetReliabilityRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.GetBacktestHistoryRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.BacktestHistoryEntryDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Simulation.BacktestHistoryEntryDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.GetBacktestRunDetailRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.GetStrategyParametersRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.SaveStrategyParametersRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Simulation.StrategyParameterProfileDto))]
|
|
|
|
// Bot DTOs
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotExecutionVenue))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotPositionStatus))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotTradeOrderDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Bot.BotTradeOrderDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.AccountSummaryDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.ExecuteProposalRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotPortfolioSnapshotDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Bot.BotPortfolioSnapshotDto>))]
|
|
|
|
|
|
[JsonSerializable(typeof(ServiceHealthResponse))]
|
|
|
|
[JsonSerializable(typeof(List<ServiceHealthResponse>))]
|
|
[JsonSerializable(typeof(FetchLogoResponse))]
|
|
[JsonSerializable(typeof(Dictionary<string, string>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.AssetDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Assets.AssetDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.StockDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.EtfDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.CryptoDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.BondDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.DerivativeDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Assets.DerivativeDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.SyntheticDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Assets.TagDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Models.Assets.GetValidAssetRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Models.Assets.SearchAssetsRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Models.Assets.GetDiscoveryAssetsRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Models.Assets.GetDerivativesRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicPriceTick))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicTickerResponse))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicTickerRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicConnectRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicSearchRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicAssetResponse))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicAsset))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicStock))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicCrypto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicEtf))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicSynthetic))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicBond))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicDerivative))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicAssetFallback))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicTag))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.TradeRepublic.TradeRepublicTag>))]
|
|
[JsonSerializable(typeof(IReadOnlyList<FinlyticCore.Dtos.TradeRepublic.TradeRepublicTag>))]
|
|
[JsonSerializable(typeof(IReadOnlyList<string>))]
|
|
[JsonSerializable(typeof(IList<FinlyticCore.Dtos.TradeRepublic.TradeRepublicAsset>))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.TradeRepublic.TradeRepublicAsset>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicDerivativesRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicDerivativesResponse))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicStockDetailsRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.TradeRepublic.TradeRepublicStockDetailsResponse))]
|
|
[JsonSerializable(typeof(YahooValueDto))]
|
|
[JsonSerializable(typeof(YahooQuoteTypeDto))]
|
|
[JsonSerializable(typeof(YahooQuoteSummaryResponseDto))]
|
|
[JsonSerializable(typeof(YahooQuoteSummaryResultDto))]
|
|
[JsonSerializable(typeof(YahooQuoteSummaryModulesDto))]
|
|
[JsonSerializable(typeof(YahooAssetProfileDto))]
|
|
[JsonSerializable(typeof(YahooCompanyOfficerDto))]
|
|
[JsonSerializable(typeof(YahooFinancialDataDto))]
|
|
[JsonSerializable(typeof(YahooDefaultKeyStatisticsDto))]
|
|
[JsonSerializable(typeof(YahooSummaryDetailDto))]
|
|
[JsonSerializable(typeof(YahooFinancialStatementHistoryDto))]
|
|
[JsonSerializable(typeof(YahooIncomeStatementDto))]
|
|
[JsonSerializable(typeof(YahooBalanceSheetStatementDto))]
|
|
[JsonSerializable(typeof(YahooCashflowStatementDto))]
|
|
[JsonSerializable(typeof(YahooCalendarEventsDto))]
|
|
[JsonSerializable(typeof(YahooEarningsCalendarDto))]
|
|
[JsonSerializable(typeof(YahooChartResponseDto))]
|
|
[JsonSerializable(typeof(YahooChartResultWrapperDto))]
|
|
[JsonSerializable(typeof(YahooChartResultDto))]
|
|
[JsonSerializable(typeof(YahooChartMetaDto))]
|
|
[JsonSerializable(typeof(YahooChartIndicatorsDto))]
|
|
[JsonSerializable(typeof(YahooChartQuoteDto))]
|
|
[JsonSerializable(typeof(YahooChartAdjCloseDto))]
|
|
[JsonSerializable(typeof(YahooQuoteResponseDto))]
|
|
[JsonSerializable(typeof(YahooQuoteResultWrapperDto))]
|
|
[JsonSerializable(typeof(YahooQuoteItemDto))]
|
|
[JsonSerializable(typeof(List<AssetIndex>))]
|
|
[JsonSerializable(typeof(TickMessageDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Settings.DynamicSettingDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Settings.DynamicSettingDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotStatusDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.BotTradeOrderDto))]
|
|
[JsonSerializable(typeof(List<FinlyticCore.Dtos.Bot.BotTradeOrderDto>))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.AccountSummaryDto))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.ExecuteProposalRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.UpdateBotSettingsRequest))]
|
|
[JsonSerializable(typeof(FinlyticCore.Dtos.Bot.PanicCloseResultDto))]
|
|
[JsonSerializable(typeof(Dictionary<string, object?>))]
|
|
[JsonSerializable(typeof(Dictionary<string, string>))]
|
|
[JsonSerializable(typeof(List<string>))]
|
|
public partial class FinlyticJsonSerializerContext : JsonSerializerContext
|
|
{
|
|
}
|