docs: add XML doc comments across src + Sister Projects section in CLAUDE.md
Bulk CommentChecker pass: fills in <param>/<inheritdoc> tags on public APIs across all 23 src/ projects so the doc-coverage gate is green. Also adds a Sister Projects section to CLAUDE.md pointing at the MxAccess Gateway and OtOpcUa sibling repos, and gitignores local credential captures (*login*.txt) and the wonder-app-vd03 deploy/ artifacts.
This commit is contained in:
@@ -18,5 +18,6 @@ namespace ScadaLink.Commons.Interfaces.Transport;
|
||||
/// </summary>
|
||||
public interface IAuditCorrelationContext
|
||||
{
|
||||
/// <summary>Gets or sets the bundle import id used to correlate audit rows written during a bundle apply operation.</summary>
|
||||
Guid? BundleImportId { get; set; }
|
||||
}
|
||||
|
||||
@@ -4,6 +4,14 @@ namespace ScadaLink.Commons.Interfaces.Transport;
|
||||
|
||||
public interface IBundleExporter
|
||||
{
|
||||
/// <summary>
|
||||
/// Exports the selected artifacts as an encrypted or plain bundle stream.
|
||||
/// </summary>
|
||||
/// <param name="selection">Specifies which artifact types and ids to include in the bundle.</param>
|
||||
/// <param name="user">Username of the operator performing the export, stamped in the manifest.</param>
|
||||
/// <param name="sourceEnvironment">Environment label stamped in the bundle manifest.</param>
|
||||
/// <param name="passphrase">Optional passphrase to encrypt the bundle; null produces an unencrypted bundle.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
Task<Stream> ExportAsync(
|
||||
ExportSelection selection,
|
||||
string user,
|
||||
|
||||
@@ -4,8 +4,28 @@ namespace ScadaLink.Commons.Interfaces.Transport;
|
||||
|
||||
public interface IBundleImporter
|
||||
{
|
||||
/// <summary>
|
||||
/// Validates and decrypts the bundle stream, opens a session, and returns session metadata.
|
||||
/// </summary>
|
||||
/// <param name="bundleStream">Stream containing the bundle zip archive.</param>
|
||||
/// <param name="passphrase">Optional passphrase for decrypting an encrypted bundle.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<BundleSession> LoadAsync(Stream bundleStream, string? passphrase, CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Diffs the loaded bundle against the target database and returns a per-artifact preview.
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Session id returned by <see cref="LoadAsync"/>.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ImportPreview> PreviewAsync(Guid sessionId, CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Applies the chosen conflict resolutions and commits the import transaction.
|
||||
/// </summary>
|
||||
/// <param name="sessionId">Session id returned by <see cref="LoadAsync"/>.</param>
|
||||
/// <param name="resolutions">Per-artifact conflict resolutions from the preview step.</param>
|
||||
/// <param name="user">Username of the operator performing the import, stamped in audit rows.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ImportResult> ApplyAsync(
|
||||
Guid sessionId,
|
||||
IReadOnlyList<ImportResolution> resolutions,
|
||||
|
||||
@@ -4,8 +4,15 @@ namespace ScadaLink.Commons.Interfaces.Transport;
|
||||
|
||||
public interface IBundleSessionStore
|
||||
{
|
||||
/// <summary>Stores the session and returns it; overwrites any existing session with the same id.</summary>
|
||||
/// <param name="session">The session to store.</param>
|
||||
BundleSession Open(BundleSession session);
|
||||
/// <summary>Returns the session for the given id, or null if not found or expired.</summary>
|
||||
/// <param name="sessionId">The session identifier to look up.</param>
|
||||
BundleSession? Get(Guid sessionId);
|
||||
/// <summary>Removes the session for the given id, if present.</summary>
|
||||
/// <param name="sessionId">The session identifier to remove.</param>
|
||||
void Remove(Guid sessionId);
|
||||
/// <summary>Removes all sessions whose expiry has passed.</summary>
|
||||
void EvictExpired();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user