Class MailboxMutationAuditEntry
- Namespace
- MailFathom.Domain.Mutations.Audit
- Assembly
- MailFathom.Domain.dll
States one change MailFathom finished making to a mailbox, in the form that outlives the mail it changed.
public sealed record MailboxMutationAuditEntry : IEquatable<MailboxMutationAuditEntry>
- Inheritance
-
MailboxMutationAuditEntry
- Implements
- Inherited Members
Remarks
This is the opposite artifact from MailboxMutationRecord and shares nothing but its source. The record exists to make a mutation correct — it carries the idempotency identity, the stage a retry resumes from, and the provenance that stops a rule reacting to its own effect — and its useful life ends when the mutation reaches a terminal stage. This is written once at exactly that moment, read by nothing the mechanism depends on, and kept for as long as its account's retention says.
It names the email by StoredEmailId and holds every folder as a path rather than as a binding, which is what lets it survive the email's deletion — including when the mutation recorded was that deletion. Inheriting the mail's deletion path would erase the record that MailFathom deleted it, which removes exactly the entry an audit of deletions exists to hold.
It holds no mail content: no subject, no address, no body fragment, no filename. A folder path, a UIDVALIDITY, a UID, a mutation name, and a requester identity are the server's own or MailFathom's own names for things. It is still derived personal data — it says where a person's mail has been, when, and at whose instruction — which is why it is written only for an account whose operator turned the trail on.
Properties
- AccountId
Gets the account whose mailbox was changed.
- CompletedAt
Gets when the change reached the ending this entry records.
- DesiredSeenState
Gets which way a
\Seenchange was asked for, and null for every other mutation.
- DestinationFolderPath
Gets the remote path of the folder a relocation or a copy named, and null for every other mutation.
- Failure
Gets the code of the failure an abandoned change was given up on for, and null for one that was performed.
- Id
Gets what addresses this entry, independently of the mutation record it was written from.
- Mutation
Gets the change that was made.
- MutationRecordId
Gets the mutation record this entry was written from.
- Outcome
Gets how the change ended.
- Placement
Gets where the destination folder put the email, as far as the server said.
- RequestedAt
Gets when the change was written down, which is when somebody asked for it.
- Requester
Gets the authored act that asked, whose identity carries a rule's revision where a rule asked.
- SourceFolderPath
Gets the remote path of the folder the email was in when the change was asked for.
- SourceUid
Gets the UID the email carried in that folder.
- SourceUidValidity
Gets the UIDVALIDITY that folder reported when the change was asked for.
- StoredEmailId
Gets the local email the change was about.
Methods
- Of(MailboxMutationAuditEntryId, MailboxMutationRecord, MailFolderResolution, DateTimeOffset)
Writes the entry one finished mutation leaves behind.