Restructure solution layout by module
This commit is contained in:
		
							
								
								
									
										29
									
								
								src/Aoc/__Libraries/StellaOps.Aoc/AocGuardOptions.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/Aoc/__Libraries/StellaOps.Aoc/AocGuardOptions.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
using System.Collections.Immutable;
 | 
			
		||||
 | 
			
		||||
namespace StellaOps.Aoc;
 | 
			
		||||
 | 
			
		||||
public sealed record AocGuardOptions
 | 
			
		||||
{
 | 
			
		||||
    private static readonly ImmutableHashSet<string> DefaultRequiredTopLevel = new[]
 | 
			
		||||
    {
 | 
			
		||||
        "tenant",
 | 
			
		||||
        "source",
 | 
			
		||||
        "upstream",
 | 
			
		||||
        "content",
 | 
			
		||||
        "linkset",
 | 
			
		||||
    }.ToImmutableHashSet(StringComparer.OrdinalIgnoreCase);
 | 
			
		||||
 | 
			
		||||
    public static AocGuardOptions Default { get; } = new();
 | 
			
		||||
 | 
			
		||||
    public ImmutableHashSet<string> RequiredTopLevelFields { get; init; } = DefaultRequiredTopLevel;
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// When true, signature metadata is required under upstream.signature.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public bool RequireSignatureMetadata { get; init; } = true;
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// When true, tenant must be a non-empty string.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public bool RequireTenant { get; init; } = true;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user