Fix build and code structure improvements. New but essential UI functionality. CI improvements. Documentation improvements. AI module improvements.

This commit is contained in:
StellaOps Bot
2025-12-26 21:54:17 +02:00
parent 335ff7da16
commit c2b9cd8d1f
3717 changed files with 264714 additions and 48202 deletions

View File

@@ -1,6 +1,7 @@
using System;
using StellaOps.Concelier.Documents;
using StellaOps.Concelier.Storage;
using StellaOps.Concelier.Storage.Contracts;
namespace StellaOps.Concelier.Connector.Vndr.Vmware.Internal;
@@ -61,6 +62,16 @@ internal sealed record VmwareFetchCacheEntry(string? Sha256, string? ETag, DateT
document.LastModified?.ToUniversalTime());
}
public static VmwareFetchCacheEntry FromDocument(StorageDocument document)
{
ArgumentNullException.ThrowIfNull(document);
return new VmwareFetchCacheEntry(
document.Sha256,
document.Etag,
document.LastModified?.ToUniversalTime());
}
public bool Matches(DocumentRecord document)
{
ArgumentNullException.ThrowIfNull(document);
@@ -85,4 +96,29 @@ internal sealed record VmwareFetchCacheEntry(string? Sha256, string? ETag, DateT
return false;
}
public bool Matches(StorageDocument document)
{
ArgumentNullException.ThrowIfNull(document);
if (!string.IsNullOrEmpty(Sha256) && !string.IsNullOrEmpty(document.Sha256)
&& string.Equals(Sha256, document.Sha256, StringComparison.OrdinalIgnoreCase))
{
return true;
}
if (!string.IsNullOrEmpty(ETag) && !string.IsNullOrEmpty(document.Etag)
&& string.Equals(ETag, document.Etag, StringComparison.Ordinal))
{
return true;
}
if (LastModified.HasValue && document.LastModified.HasValue
&& LastModified.Value.ToUniversalTime() == document.LastModified.Value.ToUniversalTime())
{
return true;
}
return false;
}
}

View File

@@ -19,4 +19,4 @@
<_Parameter1>StellaOps.Concelier.Tests</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
</Project>
</Project>

View File

@@ -16,8 +16,7 @@ using StellaOps.Concelier.Connector.Vndr.Vmware.Configuration;
using StellaOps.Concelier.Connector.Vndr.Vmware.Internal;
using StellaOps.Concelier.Storage;
using StellaOps.Concelier.Storage.Advisories;
using StellaOps.Concelier.Storage;
using StellaOps.Concelier.Storage;
using StellaOps.Concelier.Storage.Contracts;
using StellaOps.Concelier.Storage.PsirtFlags;
using StellaOps.Plugin;