Class EmailTimelineFilter
- Namespace
- MailFathom.Application.Emails.Mailboxes
- Assembly
- MailFathom.Application.dll
Selects which stored emails a mailbox timeline query returns, and from which end it reads them.
public sealed record EmailTimelineFilter : IEquatable<EmailTimelineFilter>
- Inheritance
-
EmailTimelineFilter
- Implements
- Inherited Members
Remarks
The structured filters live on Selection, which a lexical search applies too. What this type adds is the part that belongs to a timeline alone: the end it is read from, and the fingerprint a continuation cursor is checked against.
The reading direction belongs to the filter rather than sitting beside it, because a continuation cursor names a boundary in one total order over one filtered set. Treating the direction as a separate concern would let a cursor issued while reading newest-first be presented while reading oldest-first, which names a row and an arbitrary window around it. Fingerprint therefore covers the direction along with the filters.
Properties
- Direction
Gets the end of the timeline the page is read from.
- Fingerprint
Gets the fingerprint identifying this filter and direction to a continuation cursor.
- Selection
Gets the validated structural filters the timeline is narrowed by.
Methods
- Create(MailboxScope, string?, string?, string?, DateTimeOffset?, DateTimeOffset?, bool?, bool?, EmailTimelineDirection)
Validates and normalizes what a request asked for.
- ReadIn(MailboxEmailSelection, EmailTimelineDirection)
Reads an already validated selection from one end of the timeline.