-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathIMutationRequestQueryStore.cs
More file actions
54 lines (47 loc) · 2.05 KB
/
Copy pathIMutationRequestQueryStore.cs
File metadata and controls
54 lines (47 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using ModularityKit.Mutator.Governance.Abstractions.Requests.Model;
using ModularityKit.Mutator.Governance.Abstractions.Queries.Model;
namespace ModularityKit.Mutator.Governance.Abstractions.Queries.Contracts;
/// <summary>
/// Query oriented access to governed mutation requests.
/// </summary>
public interface IMutationRequestQueryStore
{
/// <summary>
/// Queries governed requests using the supplied criteria.
/// </summary>
Task<IReadOnlyList<MutationRequest>> QueryAsync(
MutationRequestQuery query,
CancellationToken cancellationToken = default);
/// <summary>
/// Returns pending requests, optionally narrowed by additional criteria.
/// </summary>
Task<IReadOnlyList<MutationRequest>> GetPendingRequestsAsync(
MutationRequestQuery? query = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Returns the pending approval queue, optionally narrowed by additional criteria.
/// </summary>
Task<IReadOnlyList<MutationRequest>> GetPendingApprovalQueueAsync(
MutationRequestQuery? query = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Returns recent approval driven requests, optionally narrowed by additional criteria.
/// </summary>
Task<IReadOnlyList<MutationRequest>> GetRecentApprovalsAsync(
MutationRequestQuery? query = null,
int? take = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Returns approval oriented projections for governed requests.
/// </summary>
Task<IReadOnlyList<MutationApprovalView>> GetPendingApprovalsAsync(
MutationApprovalQuery? query = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Returns recent decision oriented projections across governed requests.
/// </summary>
Task<IReadOnlyList<MutationRequestDecisionView>> GetRecentDecisionsAsync(
MutationRequestDecisionQuery? query = null,
int? take = null,
CancellationToken cancellationToken = default);
}