Class AuditMiddleware
- Namespace
- WorkflowForge.Extensions.Audit
- Assembly
- WorkflowForge.Extensions.Audit.dll
Middleware that captures audit information for workflow operations.
public sealed class AuditMiddleware : IWorkflowOperationMiddleware
- Inheritance
-
AuditMiddleware
- Implements
- Inherited Members
Constructors
AuditMiddleware(IAuditProvider, AuditMiddlewareOptions, ISystemTimeProvider?, string?)
Initializes a new instance of the AuditMiddleware class.
public AuditMiddleware(IAuditProvider auditProvider, AuditMiddlewareOptions options, ISystemTimeProvider? timeProvider = null, string? initiatedBy = null)
Parameters
auditProviderIAuditProviderThe audit provider for storing audit entries.
optionsAuditMiddlewareOptionsConfiguration options for audit behavior.
timeProviderISystemTimeProviderOptional time provider for timestamps.
initiatedBystringOptional user/system identifier that initiated the workflow.
Exceptions
- ArgumentNullException
Thrown when required parameters are null.
Methods
ExecuteAsync(IWorkflowOperation, IWorkflowFoundry, object?, Func<CancellationToken, Task<object?>>, CancellationToken)
Executes the middleware, capturing audit information before and after operation execution.
public Task<object?> ExecuteAsync(IWorkflowOperation operation, IWorkflowFoundry foundry, object? inputData, Func<CancellationToken, Task<object?>> next, CancellationToken cancellationToken = default)
Parameters
operationIWorkflowOperationfoundryIWorkflowFoundryinputDataobjectnextFunc<CancellationToken, Task<object>>cancellationTokenCancellationToken