feat(core): add shared DTOs, MqttTopics constants, DatabaseBootstrapper, and ManagedMqttClient extensions

This commit is contained in:
2026-08-24 21:35:24 +02:00
parent 6ab84fe1de
commit 44b161d509
39 changed files with 2545 additions and 709 deletions
@@ -1,3 +1,4 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace FinlyticCore.Dtos.Sentiment;
@@ -97,6 +98,36 @@ public record IsinCurrentSummary
[JsonPropertyName("totalArticlesAnalyzed")]
public int TotalArticlesAnalyzed { get; init; }
/// <summary>
/// Gets or sets the number of positive articles.
/// </summary>
[JsonPropertyName("positiveArticles")]
public int PositiveArticles { get; init; }
/// <summary>
/// Gets or sets the number of negative articles.
/// </summary>
[JsonPropertyName("negativeArticles")]
public int NegativeArticles { get; init; }
/// <summary>
/// Gets or sets the number of neutral articles.
/// </summary>
[JsonPropertyName("neutralArticles")]
public int NeutralArticles { get; init; }
/// <summary>
/// Gets or sets the sentiment trend ("IMPROVING", "DETERIORATING", "STABLE").
/// </summary>
[JsonPropertyName("trend")]
public string? Trend { get; init; }
/// <summary>
/// Gets or sets the key highlight summary.
/// </summary>
[JsonPropertyName("keyHighlight")]
public string? KeyHighlight { get; init; }
/// <summary>
/// Gets or sets the overall synthesized sentiment text overview.
/// </summary>
@@ -105,7 +136,7 @@ public record IsinCurrentSummary
}
/// <summary>
/// Data transfer object for an ISIN sentiment summary file (stored in data/summaries/isin/ISIN.json).
/// Data transfer object for an ISIN sentiment summary file.
/// </summary>
public record IsinSentimentSummaryDto
{