refactor(dotnet): validate raw history ingestion payloads
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled

This commit is contained in:
2026-07-13 01:32:39 +09:00
parent 26e5f5a024
commit 5106177cbd
2 changed files with 18 additions and 4 deletions
@@ -15,16 +15,16 @@ namespace QuantEngine.Application.Services
}
public Task<int> AppendDecisionAsync(IDictionary<string, object?> payload)
=> _store.AppendAsync("decision_result_history", payload);
=> _store.AppendAsync("decision_result_history", RequirePayload(payload));
public Task<int> AppendFactorOutputAsync(IDictionary<string, object?> payload)
=> _store.AppendAsync("factor_output_history", payload);
=> _store.AppendAsync("factor_output_history", RequirePayload(payload));
public Task<int> AppendMarketRawAsync(IDictionary<string, object?> payload)
=> _store.AppendAsync("market_raw_history", payload);
=> _store.AppendAsync("market_raw_history", RequirePayload(payload));
public Task<int> AppendGapAsync(IDictionary<string, object?> payload)
=> _store.AppendAsync("market_vs_engine_gap_history", payload);
=> _store.AppendAsync("market_vs_engine_gap_history", RequirePayload(payload));
public Task<int> AppendDecisionAsync(
FinalDecisionResult decision,
@@ -113,5 +113,11 @@ namespace QuantEngine.Application.Services
private static string? NormalizeOptional(string? value)
=> string.IsNullOrWhiteSpace(value) ? null : value.Trim();
private static IDictionary<string, object?> RequirePayload(IDictionary<string, object?> payload)
{
ArgumentNullException.ThrowIfNull(payload);
return payload;
}
}
}