feat(core): add internal crypto isin resolution and subtitle mapping

This commit is contained in:
2026-08-15 19:29:32 +02:00
parent 5a6a50a609
commit 067f1bfdd5
9 changed files with 258 additions and 11 deletions
@@ -125,7 +125,7 @@ public class TechnicalAnalysisDbService : ITechnicalAnalysisDbService
var macroTask = FetchMacroDataAsync(cancellationToken);
string? ticker = requestedTicker;
if (string.IsNullOrWhiteSpace(ticker))
if (string.IsNullOrWhiteSpace(ticker) || string.Equals(ticker.Trim(), cleanIsin, StringComparison.OrdinalIgnoreCase))
{
ticker = await _yahooScraper.ResolveTickerFromIsinAsync(cleanIsin, cancellationToken);
}
@@ -326,7 +326,9 @@ public class TechnicalAnalysisDbService : ITechnicalAnalysisDbService
if (cached != null && DateTime.UtcNow - cached.CalculatedAt < DbCacheTtl)
{
if (!string.IsNullOrWhiteSpace(requestedTicker) && !string.Equals(cached.Ticker, requestedTicker, StringComparison.OrdinalIgnoreCase))
if (!string.IsNullOrWhiteSpace(requestedTicker) &&
!string.Equals(requestedTicker.Trim(), cleanIsin, StringComparison.OrdinalIgnoreCase) &&
!string.Equals(cached.Ticker, requestedTicker, StringComparison.OrdinalIgnoreCase))
{
return null; // Ticker mismatch, force refresh required
}