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.