// SPDX-License-Identifier: BUSL-1.1
// Copyright (c) StellaOps
using StellaOps.Scanner.Core.Epss;
namespace StellaOps.Scanner.Worker.Processing;
///
/// Null implementation of IEpssProvider for when EPSS storage is not configured.
///
internal sealed class NullEpssProvider : IEpssProvider
{
public Task GetCurrentAsync(string cveId, CancellationToken cancellationToken = default)
=> Task.FromResult(null);
public Task GetCurrentBatchAsync(IEnumerable cveIds, CancellationToken cancellationToken = default)
=> Task.FromResult(new EpssBatchResult { Found = [], NotFound = cveIds.ToList(), ModelDate = DateOnly.MinValue });
public Task GetAsOfDateAsync(string cveId, DateOnly asOfDate, CancellationToken cancellationToken = default)
=> Task.FromResult(null);
public Task> GetHistoryAsync(string cveId, DateOnly startDate, DateOnly endDate, CancellationToken cancellationToken = default)
=> Task.FromResult>([]);
public Task GetLatestModelDateAsync(CancellationToken cancellationToken = default)
=> Task.FromResult(null);
public Task IsAvailableAsync(CancellationToken cancellationToken = default)
=> Task.FromResult(false);
}