namespace MxGateway.Server.Security.Authentication; public sealed record ApiKeyAdminParseResult( bool IsApiKeyCommand, ApiKeyAdminCommand? Command, string? Error) { /// Returns a result indicating the input was not an API key command. public static ApiKeyAdminParseResult NotApiKeyCommand() { return new ApiKeyAdminParseResult(false, null, null); } /// Returns a successful parse result with the parsed API key command. /// Parsed API key administration command. public static ApiKeyAdminParseResult Success(ApiKeyAdminCommand command) { return new ApiKeyAdminParseResult(true, command, null); } /// Returns a parse result with the specified error message. /// Error message describing the parse failure. public static ApiKeyAdminParseResult Fail(string error) { return new ApiKeyAdminParseResult(true, null, error); } }