Table of Contents

Class MailAccountJobPayload

Namespace
MailFathom.Application.Jobs
Assembly
MailFathom.Application.dll

Points one job at a whole account, and at nothing inside its mailbox.

public sealed record MailAccountJobPayload : IJobPayload, IEquatable<MailAccountJobPayload>
Inheritance
MailAccountJobPayload
Implements
Inherited Members

Remarks

The account identifier is the deployment's own configured name for a mailbox, so the document carries nothing derived from a message and nothing that could become one: there is no property here for a folder, an occurrence, or a subject. What the work reads about the mailbox it reads from committed local state.

The property is a primitive rather than the domain value object it came from, because this record is the stored document — one jsonb column an operator reads when they ask what a queued job is. Rebuilding the identity is ToAccountId(), which validates it the way the domain type does.

Properties

AccountId

Gets the account the work is about.

JobType

Gets the job type this payload is the one contract of.

Methods

For(MailAccountId)

Describes one account as the document a job carries.

ToAccountId()

Rebuilds the account identity this payload names.