Class SpamClassificationHistoryQuery
- Namespace
- MailFathom.Application.Spam.History
- Assembly
- MailFathom.Application.dll
Asks one bounded, keyset-paginated page of what classification concluded about an account's mail.
public sealed record SpamClassificationHistoryQuery : IEquatable<SpamClassificationHistoryQuery>
- Inheritance
-
SpamClassificationHistoryQuery
- Implements
- Inherited Members
Remarks
The account is required rather than optional, and every other filter narrows within it. Retention and erasure are decisions made per account, so reading is scoped the same way — and a surface over derived personal data is better for making a caller name whose mailbox they are asking about than for serving a deployment-wide list.
The three optional filters are the three ways an operator arrives here: the verdict answers what a run decided over a mailbox, the message answers why one message was filed, and the time range answers what one run concluded, since a run is bounded by when it started and when it ended. They compose rather than exclude.
A page is always bounded and always ordered newest first, so a caller that supplies nothing gets the most recent DefaultPageSize classifications rather than every message of the mailbox.
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 whose classifications are read.
- EvaluatedBefore
Gets the evaluation instant the page stops before, exclusive, or null when it reaches the newest record.
- EvaluatedFrom
Gets the earliest evaluation instant served, inclusive, or null when the page reaches as far back as the records do.
- FilterFingerprint
Gets the fingerprint of the filters this query reads under, which its cursors are issued against.
- PageSize
Gets how many classifications the page holds at most.
- StoredEmailId
Gets the occurrence the page is narrowed to, or null for every occurrence of the account.
Methods
- Create(MailAccountId, StoredEmailId?, SpamVerdict?, DateTimeOffset?, DateTimeOffset?, int?, SpamClassificationHistoryCursor?)
Builds a validated query from what a caller asked for, or reports why the request names no page.