Table of Contents

Class OutboxQuery

Namespace
MailFathom.Application.Mail.Delivery.Operations
Assembly
MailFathom.Application.dll

Asks one bounded, keyset-paginated page of what a deployment has been asked to send.

public sealed record OutboxQuery : IEquatable<OutboxQuery>
Inheritance
OutboxQuery
Implements
Inherited Members

Remarks

Both filters are optional. An outbox belongs to an account rather than to the deployment, but "what is stuck" is asked of the instance first and narrowed afterwards, so the reading is deployment-wide by default; narrowing by stage is what turns it into the two questions an operator actually has — what is still queued, and what nobody can say the outcome of.

A page is always bounded and always ordered newest first, so a caller that supplies nothing gets the most recently recorded DefaultPageSize sends rather than everything the deployment has ever sent.

Fields

DefaultPageSize

The page size a request that names none is served.

MaximumPageSize

The greatest page size one request may ask for.

Properties

AccountId

Gets the account the page is narrowed to, or null for every account.

Cursor

Gets the boundary a continued walk reads beyond, or null for the first page.

FilterFingerprint

Gets the fingerprint of the filters this query reads under, which its cursors are issued against.

PageSize

Gets how many sends the page holds at most.

Stage

Gets the stage the page is narrowed to, or null for every stage.

Methods

Create(MailAccountId?, OutgoingEmailStage?, int?, OutboxCursor?)

Builds a validated query from what a caller asked for, or reports why the request names no page.

DeclaredStages()

Names the stages a caller may narrow to, for a refusal that says what to write instead.