// -----------------------------------------------------------------------------
// IGatingReasonService.cs
// Sprint: SPRINT_9200_0001_0001_SCANNER_gated_triage_contracts
// Description: Service interface for computing why findings are gated.
// -----------------------------------------------------------------------------
using StellaOps.Scanner.WebService.Contracts;
namespace StellaOps.Scanner.WebService.Services;
///
/// Computes gating reasons for findings in the quiet triage model.
///
public interface IGatingReasonService
{
///
/// Computes the gating status for a single finding.
///
/// Finding identifier.
/// Cancellation token.
/// Gating status or null if finding not found.
Task GetGatingStatusAsync(
string findingId,
CancellationToken cancellationToken = default);
///
/// Computes gating status for multiple findings.
///
/// Finding identifiers.
/// Cancellation token.
/// Gating status for each finding.
Task> GetBulkGatingStatusAsync(
IReadOnlyList findingIds,
CancellationToken cancellationToken = default);
///
/// Computes the gated buckets summary for a scan.
///
/// Scan identifier.
/// Cancellation token.
/// Summary of gated buckets or null if scan not found.
Task GetGatedBucketsSummaryAsync(
string scanId,
CancellationToken cancellationToken = default);
}