docs: complete XML doc coverage (returns, summaries, inheritdoc)

Resolve all 622 issues flagged by the enhanced CommentChecker: add missing
<returns> tags (incl. the standard phrasing on non-generic Task methods),
add missing <summary> tags, and replace misused/redundant <inheritdoc/> on
members that override or implement nothing with real documentation.
Documentation-only — no behavior change; solution builds clean.
This commit is contained in:
Joseph Doherty
2026-06-03 11:39:32 -04:00
parent a050170414
commit eabf270d71
208 changed files with 867 additions and 114 deletions
@@ -45,31 +45,54 @@ public interface IInboundApiKeyAdmin
{
/// <summary>Creates a new key scoped to <paramref name="methods"/> and returns its
/// identifier plus the bearer token (shown once).</summary>
/// <param name="name">Operator-facing display name for the new key.</param>
/// <param name="methods">API method names the key is permitted to call.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to the new key identifier and the one-time bearer token.</returns>
Task<InboundApiKeyCreated> CreateAsync(
string name, IReadOnlyCollection<string> methods, CancellationToken ct = default);
/// <summary>Lists all inbound keys (hash-free projection).</summary>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to the full list of inbound API key records.</returns>
Task<IReadOnlyList<InboundApiKeyInfo>> ListAsync(CancellationToken ct = default);
/// <summary>Enables or disables a key without changing its secret. Returns false if
/// the key does not exist.</summary>
/// <param name="keyId">Identifier of the key to update.</param>
/// <param name="enabled">True to enable the key; false to disable it.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to <c>true</c> if the key was updated; <c>false</c> if the key does not exist.</returns>
Task<bool> SetEnabledAsync(string keyId, bool enabled, CancellationToken ct = default);
/// <summary>Replaces the method-scope set on a key without changing its secret.
/// Returns false if the key does not exist.</summary>
/// <param name="keyId">Identifier of the key to update.</param>
/// <param name="methods">Replacement set of API method names the key may call.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to <c>true</c> if the key's method scope was replaced; <c>false</c> if the key does not exist.</returns>
Task<bool> SetMethodsAsync(
string keyId, IReadOnlyCollection<string> methods, CancellationToken ct = default);
/// <summary>Removes a key (revoke-then-delete). Returns false if the key could not be
/// deleted.</summary>
/// <param name="keyId">Identifier of the key to delete.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to <c>true</c> if the key was deleted; <c>false</c> if it could not be deleted.</returns>
Task<bool> DeleteAsync(string keyId, CancellationToken ct = default);
/// <summary>Returns the method-scope set for a key, or an empty list if not found.</summary>
/// <remarks>Enumerates the full key list (O(n)); intended for admin-scale use, not hot paths.</remarks>
/// <param name="keyId">Identifier of the key whose method scope to retrieve.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to the method names the key is scoped to, or an empty list if the key does not exist.</returns>
Task<IReadOnlyList<string>> GetMethodsForKeyAsync(string keyId, CancellationToken ct = default);
/// <summary>Returns the identifiers of all keys whose scopes contain
/// <paramref name="methodName"/>.</summary>
/// <remarks>Enumerates the full key list (O(n)); intended for admin-scale use, not hot paths.</remarks>
/// <param name="methodName">API method name to search for across all key scopes.</param>
/// <param name="ct">Token to observe for cancellation.</param>
/// <returns>A task that resolves to the identifiers of all keys whose scopes include <paramref name="methodName"/>.</returns>
Task<IReadOnlyList<string>> GetKeysForMethodAsync(string methodName, CancellationToken ct = default);
}