Class MailboxMutationAuditQuery
- Namespace
- MailFathom.Application.Mail.Mutations.Audit
- Assembly
- MailFathom.Application.dll
Asks one bounded, keyset-paginated page of an account's audit trail.
public sealed record MailboxMutationAuditQuery : IEquatable<MailboxMutationAuditQuery>
- Inheritance
-
MailboxMutationAuditQuery
- Implements
- Inherited Members
Remarks
The account is required rather than optional, and every other filter narrows within it. Enabling the trail, its retention, and its erasure are all decisions one account's operator makes, so reading it is scoped the same way — and a surface over derived personal data is better for making a caller name whose mail they are looking at than for serving a deployment-wide list nobody asked a question about.
A page is always bounded and always ordered newest first, so a caller that supplies nothing gets the most recent DefaultPageSize entries rather than the whole trail.
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 trail is read.
- CompletedBefore
Gets the completion instant the page stops before, exclusive, or null when it reaches the newest entry.
- CompletedFrom
Gets the earliest completion instant served, inclusive, or null when the page reaches back as far as the trail does.
- FilterFingerprint
Gets the fingerprint of the filters this query reads under, which its cursors are issued against.
- Mutation
Gets the mutation the page is narrowed to, or the unspecified default when every mutation is served.
- PageSize
Gets how many entries the page holds at most.
Methods
- Create(MailAccountId, MailboxMutation, DateTimeOffset?, DateTimeOffset?, int?, MailboxMutationAuditCursor?)
Builds a validated query from what a caller asked for, or reports why the request names no page.