Table of Contents

Class SupportMailPositionEntity

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

How far this deployment has read the support mailbox.

public record SupportMailPositionEntity : EntityBase, ISupportInitialize, IEquatable<PersistableEntityBase>, IEntity<ObjectId>, IEquatable<EntityBase<ObjectId>>, IEquatable<EntityBase>, IEquatable<SupportMailPositionEntity>
Inheritance
PersistableEntityBase
EntityBase<ObjectId>
EntityBase
SupportMailPositionEntity
Implements
IEquatable<PersistableEntityBase>
IEntity<ObjectId>
IEquatable<EntityBase<ObjectId>>
IEquatable<EntityBase>
Inherited Members
EntityBase.ToString()
EntityBase.GetHashCode()
EntityBase.Equals(EntityBase<ObjectId>)
EntityBase.Equals(EntityBase)
EntityBase.<Clone>$()
EntityBase.EqualityContract
EntityBase<ObjectId>.Equals(PersistableEntityBase)
EntityBase<ObjectId>.Id
PersistableEntityBase.NeedsCleaning()
PersistableEntityBase.BeginInit()
PersistableEntityBase.EndInit()
PersistableEntityBase.CatchAll

Remarks

One record per deployment, so this collection holds one document in the ordinary case and two when a mailbox is shared by two sites. It is a bookmark rather than a record of anything: losing it costs a re-read, which the event ledger makes harmless.

Properties

Key

Identifies the deployment, not the mailbox — two instances sharing a mailbox must not share a position.

public required string Key { get; init; }

Property Value

string

LastUid

The highest UID considered.

public required long LastUid { get; init; }

Property Value

long

UidValidity

The mailbox's UID generation when the position was written.

public required long UidValidity { get; init; }

Property Value

long

UpdatedAt

public required DateTime UpdatedAt { get; init; }

Property Value

DateTime