Table of Contents

Class InboundMailCollection

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll
public class InboundMailCollection : DiskRepositoryCollectionBase<InboundMailEntity>, IInboundMailCollection, IDiskRepositoryCollection<InboundMailEntity>, IDiskRepositoryCollection<InboundMailEntity, ObjectId>, IRepositoryCollection<InboundMailEntity, ObjectId>, IReadOnlyRepositoryCollection<InboundMailEntity, ObjectId>, IRepositoryCollection, IReadOnlyRepositoryCollection
Inheritance
RepositoryCollectionBase
RepositoryCollectionBase<InboundMailEntity, ObjectId>
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>
DiskRepositoryCollectionBase<InboundMailEntity>
InboundMailCollection
Implements
IDiskRepositoryCollection<InboundMailEntity>
IDiskRepositoryCollection<InboundMailEntity, ObjectId>
IRepositoryCollection<InboundMailEntity, ObjectId>
IReadOnlyRepositoryCollection<InboundMailEntity, ObjectId>
IRepositoryCollection
IReadOnlyRepositoryCollection
Inherited Members
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.GetCollection()
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.DropCollectionAsync()
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.GetDirtyAsync()
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.GetFailedIndices()
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.DropEmptyAsync(IMongoCollection<InboundMailEntity>)
DiskRepositoryCollectionBase<InboundMailEntity, ObjectId>.FetchSize
RepositoryCollectionBase<InboundMailEntity, ObjectId>._mongoDbServiceFactory
RepositoryCollectionBase<InboundMailEntity, ObjectId>._logger
RepositoryCollectionBase<InboundMailEntity, ObjectId>._databaseContext
RepositoryCollectionBase<InboundMailEntity, ObjectId>._mongoDbService
RepositoryCollectionBase<InboundMailEntity, ObjectId>.InitAsync(IMongoCollection<InboundMailEntity>)
RepositoryCollectionBase<InboundMailEntity, ObjectId>.ProtectedCollectionName
RepositoryCollectionBase<InboundMailEntity, ObjectId>.CollectionName
RepositoryCollectionBase<InboundMailEntity, ObjectId>.DatabasePart
RepositoryCollectionBase<InboundMailEntity, ObjectId>.ConfigurationName
RepositoryCollectionBase<InboundMailEntity, ObjectId>.AutoClean
RepositoryCollectionBase<InboundMailEntity, ObjectId>.CleanOnStartup
RepositoryCollectionBase<InboundMailEntity, ObjectId>.CreateCollectionStrategy
RepositoryCollectionBase<InboundMailEntity, ObjectId>.Indices
RepositoryCollectionBase<InboundMailEntity, ObjectId>.CoreIndices
RepositoryCollectionBase<InboundMailEntity, ObjectId>.Types
RepositoryCollectionBase.ConfigurationName
RepositoryCollectionBase.ActionEvent

Constructors

InboundMailCollection(IMongoDbServiceFactory, ILogger<InboundMailCollection>, IOptions<ThargaTeamOptions>)

public InboundMailCollection(IMongoDbServiceFactory mongoDbServiceFactory, ILogger<InboundMailCollection> logger, IOptions<ThargaTeamOptions> options = null)

Parameters

mongoDbServiceFactory IMongoDbServiceFactory
logger ILogger<InboundMailCollection>
options IOptions<ThargaTeamOptions>

Properties

CollectionName

public override string CollectionName { get; }

Property Value

string

Indices

public override IEnumerable<CreateIndexModel<InboundMailEntity>> Indices { get; }

Property Value

IEnumerable<CreateIndexModel<InboundMailEntity>>

Remarks

The mail id is unique and never expires: it is what makes reading a mailbox twice harmless, so unlike the support ledger it is kept for as long as the mail is.

TeamKey_Outcome_ReceivedAt serves every list and count that names an outcome, in the order they page: the postmaster's held and archived mail (no team, and no outcome or archived) and a team's unhandled mail.