feat(backend): support calendar image routing and fundamentals executive salary mapping

This commit is contained in:
2026-08-15 01:03:07 +02:00
parent a3f9e55a7e
commit f08fecde23
3 changed files with 7 additions and 7 deletions
@@ -85,13 +85,12 @@ public class CalendarController : ControllerBase
} }
return new CalendarEventResponseDto( return new CalendarEventResponseDto(
Id: $"evt-{eventIsin}-{eventDate:yyyyMMdd}-{eventType}", Id: e.Id.ToString(),
Symbol: string.IsNullOrWhiteSpace(ticker) ? eventIsin : ticker,
CompanyName: companyName, CompanyName: companyName,
EventType: eventType, EventType: eventType,
EventDate: eventDate, EventDate: eventDate,
Date: eventDate.ToString("o"), Date: eventDate.ToString("o"),
Isin: eventIsin, Isin: e.Isin,
Ticker: ticker, Ticker: ticker,
Description: $"{eventType} - {companyName}", Description: $"{eventType} - {companyName}",
Details: $"Termin für {companyName} am {eventDate:dd.MM.yyyy}", Details: $"Termin für {companyName} am {eventDate:dd.MM.yyyy}",
@@ -119,9 +118,7 @@ public class CalendarController : ControllerBase
{ {
filtered = filtered.Where(e => filtered = filtered.Where(e =>
string.Equals(e.Isin, activeSymbol, StringComparison.OrdinalIgnoreCase) || string.Equals(e.Isin, activeSymbol, StringComparison.OrdinalIgnoreCase) ||
string.Equals(e.Ticker, activeSymbol, StringComparison.OrdinalIgnoreCase) || string.Equals(e.Ticker, activeSymbol, StringComparison.OrdinalIgnoreCase));
string.Equals(e.Symbol, activeSymbol, StringComparison.OrdinalIgnoreCase)
);
} }
return Ok(filtered.OrderBy(e => e.EventDate).ToList()); return Ok(filtered.OrderBy(e => e.EventDate).ToList());
@@ -8,7 +8,6 @@ namespace FinlyticCore.Dtos;
/// </summary> /// </summary>
public record CalendarEventResponseDto( public record CalendarEventResponseDto(
[property: JsonPropertyName("id")] string Id, [property: JsonPropertyName("id")] string Id,
[property: JsonPropertyName("symbol")] string Symbol,
[property: JsonPropertyName("companyName")] string CompanyName, [property: JsonPropertyName("companyName")] string CompanyName,
[property: JsonPropertyName("eventType")] string EventType, [property: JsonPropertyName("eventType")] string EventType,
[property: JsonPropertyName("eventDate")] DateTime EventDate, [property: JsonPropertyName("eventDate")] DateTime EventDate,
@@ -477,9 +477,11 @@ public class FundamentalsDbService : IFundamentalsDbService
return events.Select(e => new CorporateEventDto return events.Select(e => new CorporateEventDto
{ {
Id = e.Id, Id = e.Id,
Isin = e.AssetData.Isin,
Ticker = e.Ticker != null Ticker = e.Ticker != null
? new TickerInfoDto { Ticker = e.Ticker.Ticker, Exchange = !string.IsNullOrWhiteSpace(e.Ticker.Exchange) ? e.Ticker.Exchange : GetExchangeDisplayName(e.Ticker.Ticker) } ? new TickerInfoDto { Ticker = e.Ticker.Ticker, Exchange = !string.IsNullOrWhiteSpace(e.Ticker.Exchange) ? e.Ticker.Exchange : GetExchangeDisplayName(e.Ticker.Ticker) }
: new TickerInfoDto { Ticker = "Unknown", Exchange = "Unknown" }, : new TickerInfoDto { Ticker = "Unknown", Exchange = "Unknown" },
CompanyName = e.AssetData.Name,
Type = e.Type, Type = e.Type,
Date = e.Date Date = e.Date
}).OrderBy(e => e.Date).ToList(); }).OrderBy(e => e.Date).ToList();
@@ -504,6 +506,8 @@ public class FundamentalsDbService : IFundamentalsDbService
return events.Select(e => new CorporateEventDto return events.Select(e => new CorporateEventDto
{ {
Id = e.Id, Id = e.Id,
Isin = e.AssetData.Isin,
CompanyName = e.AssetData.Name,
Ticker = e.Ticker != null Ticker = e.Ticker != null
? new TickerInfoDto { Ticker = e.Ticker.Ticker, Exchange = !string.IsNullOrWhiteSpace(e.Ticker.Exchange) ? e.Ticker.Exchange : GetExchangeDisplayName(e.Ticker.Ticker) } ? new TickerInfoDto { Ticker = e.Ticker.Ticker, Exchange = !string.IsNullOrWhiteSpace(e.Ticker.Exchange) ? e.Ticker.Exchange : GetExchangeDisplayName(e.Ticker.Ticker) }
: new TickerInfoDto { Ticker = "Unknown", Exchange = "Unknown" }, : new TickerInfoDto { Ticker = "Unknown", Exchange = "Unknown" },