35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
namespace StellaOps.Aoc;
|
|
|
|
public enum AocViolationCode
|
|
{
|
|
None = 0,
|
|
ForbiddenField,
|
|
MergeAttempt,
|
|
IdempotencyViolation,
|
|
MissingProvenance,
|
|
SignatureInvalid,
|
|
DerivedFindingDetected,
|
|
UnknownField,
|
|
MissingRequiredField,
|
|
InvalidTenant,
|
|
InvalidSignatureMetadata,
|
|
}
|
|
|
|
public static class AocViolationCodeExtensions
|
|
{
|
|
public static string ToErrorCode(this AocViolationCode code) => code switch
|
|
{
|
|
AocViolationCode.ForbiddenField => "ERR_AOC_001",
|
|
AocViolationCode.MergeAttempt => "ERR_AOC_002",
|
|
AocViolationCode.IdempotencyViolation => "ERR_AOC_003",
|
|
AocViolationCode.MissingProvenance => "ERR_AOC_004",
|
|
AocViolationCode.SignatureInvalid => "ERR_AOC_005",
|
|
AocViolationCode.DerivedFindingDetected => "ERR_AOC_006",
|
|
AocViolationCode.UnknownField => "ERR_AOC_007",
|
|
AocViolationCode.MissingRequiredField => "ERR_AOC_004",
|
|
AocViolationCode.InvalidTenant => "ERR_AOC_004",
|
|
AocViolationCode.InvalidSignatureMetadata => "ERR_AOC_005",
|
|
_ => "ERR_AOC_000",
|
|
};
|
|
}
|