Class ListEmailsResult
- Namespace
- MailFathom.Application.Emails.ListEmails
- Assembly
- MailFathom.Application.dll
One page of a mailbox listing, together with what continues it and how current it is.
public sealed record ListEmailsResult : IEquatable<ListEmailsResult>
- Inheritance
-
ListEmailsResult
- Implements
- Inherited Members
Remarks
The absence of a cursor is the end of the result set rather than a hint: the reader establishes it by asking storage for one row beyond the page and finding none, so a caller that stops when the cursor is absent has seen every row exactly once. A present cursor never promises that the next page is non-empty — mail can be expunged between two requests — but continuing from it can never skip or repeat a row.
Freshness travels with every page because the listing is served from the local copy whether or not a mail server is reachable, which is what makes stale data explicit instead of indistinguishable from an empty mailbox.
Whether junk took part travels with the page for the same reason, and it is reported whichever answer it is: a page that omitted a whole folder and a page that read every folder are otherwise the same shape, so a caller could not tell a mailbox holding nothing more from one whose remainder is behind a flag they did not set.
Constructors
- ListEmailsResult(IReadOnlyList<EmailSummary>, string?, IReadOnlyList<MailboxFolderFreshness>, bool)
One page of a mailbox listing, together with what continues it and how current it is.
Properties
- Emails
The page, in the timeline order the request asked for, holding no more than the effective page size.
- FolderFreshness
How current the local copy of each folder in the request's scope is.
- HasMore
Gets whether another page can be read after this one.
- IncludedJunkMail
Whether the account's junk folder took part in the listing.
- NextCursor
The cursor that reads the next page, or null when this page ended the walk.