Skip to content

Commit 5035482

Browse files
committed
feat(governance): expand request query model
1 parent 72b9217 commit 5035482

12 files changed

Lines changed: 441 additions & 320 deletions

‎src/Governance/Abstractions/Queries/Model/MutationRequestQuery.cs‎

Lines changed: 0 additions & 163 deletions
This file was deleted.

‎src/Governance/Abstractions/Queries/Model/MutationRequestQueryEvaluator.cs‎

Lines changed: 0 additions & 157 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
namespace ModularityKit.Mutator.Governance.Abstractions.Queries.Model.Requests.Filters;
2+
3+
/// <summary>
4+
/// Groups actor oriented request query filters.
5+
/// </summary>
6+
public sealed record MutationRequestActorFilter
7+
{
8+
/// <summary>
9+
/// Actor identifiers to include.
10+
/// </summary>
11+
public IReadOnlySet<string> ActorIds { get; init; } = new HashSet<string>();
12+
13+
/// <summary>
14+
/// Actor names to include.
15+
/// </summary>
16+
public IReadOnlySet<string> ActorNames { get; init; } = new HashSet<string>();
17+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using ModularityKit.Mutator.Abstractions.Intent;
2+
3+
namespace ModularityKit.Mutator.Governance.Abstractions.Queries.Model.Requests.Filters;
4+
5+
/// <summary>
6+
/// Groups intent oriented request query filters.
7+
/// </summary>
8+
public sealed record MutationRequestIntentFilter
9+
{
10+
/// <summary>
11+
/// Mutation categories to include.
12+
/// </summary>
13+
public IReadOnlySet<string> Categories { get; init; } = new HashSet<string>();
14+
15+
/// <summary>
16+
/// Tags to include from the request intent.
17+
/// </summary>
18+
public IReadOnlySet<string> Tags { get; init; } = new HashSet<string>();
19+
20+
/// <summary>
21+
/// Tag matching strategy.
22+
/// </summary>
23+
public MutationRequestTagMatchMode TagMatchMode { get; init; } = MutationRequestTagMatchMode.Any;
24+
25+
/// <summary>
26+
/// Exact metadata key/value pairs to match against request intent metadata.
27+
/// </summary>
28+
public IReadOnlyDictionary<string, object?> Metadata { get; init; } = new Dictionary<string, object?>();
29+
30+
/// <summary>
31+
/// Minimum estimated blast radius scope to include.
32+
/// </summary>
33+
public BlastRadiusScope? MinimumBlastRadiusScope { get; init; }
34+
35+
/// <summary>
36+
/// Maximum estimated blast radius scope to include.
37+
/// </summary>
38+
public BlastRadiusScope? MaximumBlastRadiusScope { get; init; }
39+
}

0 commit comments

Comments
 (0)