save progress

This commit is contained in:
master
2026-01-09 18:27:36 +02:00
parent e608752924
commit a21d3dbc1f
361 changed files with 63068 additions and 1192 deletions

View File

@@ -585,6 +585,42 @@ internal sealed class InMemoryLayerSbomService : ILayerSbomService
// Not implemented for tests
return Task.CompletedTask;
}
public Task<byte[]?> GetComposedSbomAsync(
ScanId scanId,
string format,
CancellationToken cancellationToken = default)
{
// Return the first matching layer SBOM for testing purposes
var key = _layerSboms.Keys.FirstOrDefault(k => k.ScanId == scanId.Value && k.Format == format);
if (key != default && _layerSboms.TryGetValue(key, out var sbom))
{
return Task.FromResult<byte[]?>(sbom);
}
return Task.FromResult<byte[]?>(null);
}
public Task<IReadOnlyList<SbomLayerFragment>?> GetLayerFragmentsAsync(
ScanId scanId,
CancellationToken cancellationToken = default)
{
if (!_scans.TryGetValue(scanId.Value, out var scanData))
{
return Task.FromResult<IReadOnlyList<SbomLayerFragment>?>(null);
}
var fragments = scanData.Layers
.OrderBy(l => l.Order)
.Select(l => new SbomLayerFragment
{
LayerDigest = l.LayerDigest,
Order = l.Order,
ComponentPurls = new List<string> { $"pkg:test/layer{l.Order}@1.0.0" }
})
.ToList();
return Task.FromResult<IReadOnlyList<SbomLayerFragment>?>(fragments);
}
}
/// <summary>