Table of Contents

Class MailboxScopeResolver

Namespace
MailFathom.Application.Emails.Mailboxes
Assembly
MailFathom.Application.dll

Decides which accounts and folders a mailbox read actually runs against.

public sealed class MailboxScopeResolver
Inheritance
MailboxScopeResolver
Inherited Members

Remarks

Every read model asks the same two questions of a requested scope, and both answers are access decisions rather than query details, which is why they are resolved once here instead of per use case. A read model that answered either one differently would publish mail through the query that got it wrong while the others stayed correct.

Constructors

MailboxScopeResolver(IMailAccountCatalog, IMailFolderParticipationReader, IJunkMailFolderCatalog, MailFolderReferenceResolver)

Initializes the resolver.

Methods

IsReadableByTools(MailAccountId, MailFolderAlias)

Reports whether a tool may read one email, given the mailbox it was stored from.

ReadableScope(IReadOnlyList<MailAccountSelector>, IReadOnlyList<MailFolderReference>, JunkMailInclusion)

Resolves what a request named into the scope a query runs with.