Constructor MailboxQuestionReader
- Namespace
- MailFathom.Application.Retrieval.AskMail
- Assembly
- MailFathom.Application.dll
MailboxQuestionReader(MailAnsweringCapability, MailboxScopeResolver, IMailAnsweringSpendLedger, MailAnswerBounds, IMailAnsweringRunTelemetry, IMailAnsweringAuditTrail, TimeProvider, SensitiveContentEgressGuard, AccessAuthorization)
Initializes the use case.
public MailboxQuestionReader(MailAnsweringCapability capability, MailboxScopeResolver scopeResolver, IMailAnsweringSpendLedger spendLedger, MailAnswerBounds answerBounds, IMailAnsweringRunTelemetry runTelemetry, IMailAnsweringAuditTrail auditTrail, TimeProvider timeProvider, SensitiveContentEgressGuard egressGuard, AccessAuthorization authorization)
Parameters
capabilityMailAnsweringCapabilityDecides whether a question may run, and hands over what runs it.
scopeResolverMailboxScopeResolverDecides which accounts and folders the answer may be drawn from.
spendLedgerIMailAnsweringSpendLedgerDecides whether the current period still has an allowance for a question.
answerBoundsMailAnswerBoundsHow much of one run's outcome a single answer publishes.
runTelemetryIMailAnsweringRunTelemetryPublishes the run beside the request it happened inside.
auditTrailIMailAnsweringAuditTrailKeeps the durable record of what the run read, for the accounts that asked for one.
timeProviderTimeProviderStamps when the run began and when it ended.
egressGuardSensitiveContentEgressGuardScans what the answer is about to publish, where this deployment scans anything.
authorizationAccessAuthorizationAnswers which principal reached this use case.
Exceptions
- ArgumentNullException
Thrown when any argument is null.