Table of Contents

Class ApplicationAuditCompletionOutbox

Namespace
ProjectTemplate.Infrastructure.Data.Auditing
Assembly
ProjectTemplate.Infrastructure.dll

Implements durable audit-completion staging, dispatch, and minimized operational queries.

public sealed class ApplicationAuditCompletionOutbox : IApplicationAuditCompletionOutbox, IApplicationAuditCompletionOutboxDispatcher, IApplicationAuditCompletionOutboxQuery
Inheritance
ApplicationAuditCompletionOutbox
Implements
Inherited Members

Constructors

ApplicationAuditCompletionOutbox(ApplicationDbContext, IOptions<ApplicationAuditCompletionOutboxOptions>, IEnumerable<IApplicationAuditCompletionPublisher>, TimeProvider)

public ApplicationAuditCompletionOutbox(ApplicationDbContext dbContext, IOptions<ApplicationAuditCompletionOutboxOptions> options, IEnumerable<IApplicationAuditCompletionPublisher> publishers, TimeProvider timeProvider)

Parameters

dbContext ApplicationDbContext
options IOptions<ApplicationAuditCompletionOutboxOptions>
publishers IEnumerable<IApplicationAuditCompletionPublisher>
timeProvider TimeProvider

Methods

DispatchReadyAsync(CancellationToken)

public Task<ApplicationAuditCompletionDispatchSummary> DispatchReadyAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<ApplicationAuditCompletionDispatchSummary>

GetHealthAsync(CancellationToken)

public Task<ApplicationAuditCompletionOutboxHealth> GetHealthAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<ApplicationAuditCompletionOutboxHealth>

QueryAsync(ApplicationAuditCompletionOutboxQueryRequest, CancellationToken)

public Task<IReadOnlyList<ApplicationAuditCompletionOutboxItem>> QueryAsync(ApplicationAuditCompletionOutboxQueryRequest request, CancellationToken cancellationToken = default)

Parameters

request ApplicationAuditCompletionOutboxQueryRequest
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<ApplicationAuditCompletionOutboxItem>>

Stage(ApplicationDbContext, ApplicationMutationAuditReceipt, string?)

public ApplicationAuditCompletionOutboxEntry? Stage(ApplicationDbContext dbContext, ApplicationMutationAuditReceipt receipt, string? destination = null)

Parameters

dbContext ApplicationDbContext
receipt ApplicationMutationAuditReceipt
destination string

Returns

ApplicationAuditCompletionOutboxEntry

StageAsync(ApplicationDbContext, ApplicationMutationAuditReceipt, string?, CancellationToken)

public ValueTask<ApplicationAuditCompletionOutboxEntry?> StageAsync(ApplicationDbContext dbContext, ApplicationMutationAuditReceipt receipt, string? destination = null, CancellationToken cancellationToken = default)

Parameters

dbContext ApplicationDbContext
receipt ApplicationMutationAuditReceipt
destination string
cancellationToken CancellationToken

Returns

ValueTask<ApplicationAuditCompletionOutboxEntry>