21 lines
826 B
C#
21 lines
826 B
C#
using System.Globalization;
|
|
|
|
namespace ScadaLink.CLI.Commands;
|
|
|
|
/// <summary>
|
|
/// Helpers for the <c>audit verify-chain</c> subcommand. v1 is a no-op: hash-chain
|
|
/// tamper-evidence is deferred to v1.x (see Component-AuditLog.md). The command still
|
|
/// validates its <c>--month</c> argument so the surface is stable for v1.x.
|
|
/// </summary>
|
|
public static class AuditVerifyChainHelpers
|
|
{
|
|
/// <summary>
|
|
/// Returns true if <paramref name="month"/> is a well-formed <c>YYYY-MM</c> value
|
|
/// with a real month (01-12). A malformed month (e.g. <c>2026-13</c>) is rejected.
|
|
/// </summary>
|
|
public static bool IsValidMonth(string? month)
|
|
=> !string.IsNullOrWhiteSpace(month)
|
|
&& DateTime.TryParseExact(month, "yyyy-MM", CultureInfo.InvariantCulture,
|
|
DateTimeStyles.None, out _);
|
|
}
|