Table of Contents

Namespace Tharga.Team.MongoDB

Classes

ContactMailSuppressionCollection

Addresses that opted out of contact mail, one document per address and category, default collection name ContactMailSuppression; kept for good.

ContactMailSuppressionEntity

An address that opted out of contact mail, of one category or of all of it.

ContactMessageAddresseeEntity

One distinct address of a message to contacts, as it was checked when the message was sent.

ContactMessageCollection

The log of messages staff sent to contacts, default collection name ContactMessage; a message expires UserMailRetention after it was sent, with the mails it queued.

ContactMessageEntity

A message staff sent to contacts, as the log records it, with every distinct address it was listed for.

DataProtectionKeyCollection

The Data Protection key ring. Default collection name DataProtectionKey.

DataProtectionKeyEntity

One Data Protection key, as the XML Data Protection writes it.

DataProtectionMongoRegistration

Keeping the Data Protection key ring in MongoDB.

DefaultTeamEntity

The standard stored team, holding DefaultTeamMember members.

DefaultTeamMember

The standard team member. Use this unless a member needs properties of your own.

DefaultTeamService

The standard team service, storing DefaultTeamEntity teams with DefaultTeamMember members. Register it and write no team storage code at all.

DefaultUserEntity

The standard stored user. Declares every optional property, so directory linking, activity tracking and icons all work without further wiring.

DefaultUserService

The standard user service, storing DefaultUserEntity users. Register it and write no user storage code at all.

IconEntity

An icon document: the image bytes plus enough metadata to serve and manage them. Stored in its own collection (default Icon), keyed by Key (the reference returned to callers) — never inlined into the team/user documents, which are read on hot paths.

IconRepositoryCollection

MongoDB collection for icon documents. Default collection name Icon (override via IconCollectionName), with a unique index on Key.

IconSettingsEntity

The site's icon settings, as one document.

IconSettingsRepositoryCollection

MongoDB collection for the site's icon settings. Default collection name IconSettings (override via IconSettingsCollectionName), with a unique index on Key — which is what keeps "there is one of these" true in the store rather than only in the code that writes it.

InboundMailCollection
InboundMailEntity

The stored form of InboundMailItem. A mail with no TeamKey is held by the postmaster, and archived there when its Outcome is Archived.

MailEnvelopeEntity

The stored form of MailEnvelope.

MongoIconSettingsStore

Built-in IIconSettingsStore backed by MongoDB — the zero-configuration default, registered by AddThargaTeamRepository via TryAdd so a consumer-supplied store takes precedence.

MongoIconStore

Built-in IIconStore backed by MongoDB — the zero-configuration default (MongoDB is already a platform dependency). Bytes live in their own IconRepositoryCollection, keyed by a generated reference. Registered by AddThargaTeamRepository via TryAdd, so a consumer-supplied IIconStore takes precedence.

SupportAiConnectionCollection

Each team's AI connection. Default collection name SupportAiConnection.

SupportAiConnectionEntity

A team's AI connection, with the key only as Data Protection protected it.

SupportAssistantCallEntity

A service call the assistant made for an answer: the tool, and what it was asked for.

SupportAssistantUsageCollection

The assistant's usage, one document per time it was asked. Default collection name SupportAssistantUsage.

SupportAssistantUsageEntity

The tokens a model reported for an answer.

SupportAssistantUsageRecordEntity

One time the support assistant was asked. Never what anybody wrote.

SupportAttachmentEntity

A file a transcript entry carries, by id with what it was called; the content is kept elsewhere.

SupportCaseEntity

A support case and its whole transcript, in one document.

SupportCaseReadEntity

How far one person has read a case's transcript.

SupportCaseRepositoryCollection

MongoDB collection for support cases. Default collection name SupportCase (override via SupportCaseCollectionName).

SupportCaseTeamEntity

An embedded reference to a team a support case names, by key with the name it had then.

SupportChannelBindingEntity

An embedded projection onto an external system.

SupportEventLedgerCollection

Collection of handled inbound events. Default collection name SupportEventLedger.

SupportEventLedgerEntity

One handled inbound channel event.

SupportExternalContactEntity

Who wrote to a support case through a public form, as they typed it.

SupportExternalFieldEntity

One extra field a public form sent.

SupportMailPositionCollection

Collection of mailbox read positions. Default collection name SupportMailPosition.

SupportMailPositionEntity

How far this deployment has read the support mailbox.

SupportMessageEntity

One entry in an embedded transcript.

TeamAccessRequestEntity

A TeamAccessRequest as stored inside its team document.

TeamEntityBase<TTeamMemberModel>
TeamMailKeyEntry

One mail key inside a team's TeamMailKeysEntity.

TeamMailKeysCollection
TeamMailKeysEntity

Every mail key a team has held, in one document.

TeamMemberBase
TeamServiceRepositoryBase<TTeamEntity, TMember>
TemporaryConsentEntity

A TemporaryConsent as stored inside its team document.

ThargaTeamOptions
ThargaTeamRegistration
UserMailAttachmentEntity

A file kept with a queued mail; its content is removed once the mail is done.

UserMailBatchCollection

Content shared by one mail to many users, default collection name UserMailBatch; a batch expires UserMailRetention after its last mail is done.

UserMailBatchEntity

The content one mail to many users shares, stored once, and once every mail of it is done what became of them.

UserMailBatchOutcomeEntity

What became of the mails of a batch, recorded once every one is done.

UserMailCollection

Queued mail to users, default collection name UserMail.

UserMailEntity

One queued mail to a user and where it stands.

UserMailFailureEntity

Why the mail to one recipient of a batch was given up.

UserMailPreferenceCollection

Users' mail choices, one document per user and category, default collection name UserMailPreference.

UserMailPreferenceEntity

One user's choice for one mail category, stored only when it differs from the category's default.

UserMessageCollection

The log of messages staff sent to users, default collection name UserMessage; a message expires UserMailRetention after it was sent.

UserMessageEntity

A message staff sent to users, as the sent log records it.

UserMessageRecipientsEntity

A message's selection as it was chosen.

UserNoticeCollection

Raised notice occurrences, default collection name UserNotice.

UserNoticeCoveredEntity

A subject a mail covered, and when it last did.

UserNoticeEntity

A raised notice occurrence and where its distribution stands.

UserNoticeItemCollection

Users' notices, default collection name UserNoticeItem.

UserNoticeItemEntity

One occurrence as it reaches one user, waiting in their stream until it is mailed.

UserNoticePreferenceCollection

Users' notice choices, one document per user and notice, default collection name UserNoticePreference.

UserNoticePreferenceEntity

One user's choice for one notice, each part stored only where it differs from a default in force for them.

UserNoticeStreamCollection

Users' notice streams, one document per user and stream, default collection name UserNoticeStream.

UserNoticeStreamEntity

One user's stream of notices — one notice delivered at once, or the daily summary of one mail category — and when its next mail is due.

UserNoticeTeamDefaultCollection

Teams' notice defaults, one document per team and notice, default collection name UserNoticeTeamDefault.

UserNoticeTeamDefaultEntity

A team's default for one notice, each part stored only where it differs from the catalogue's.

UserRepositoryCollection<TUserEntity>

MongoDB collection definition for User documents. Public so consumers can subclass it to declare per-deployment indices on their own TUserEntity shape. Register the subclass via RegisterUserRepository<TUserEntity, TCollection>().

UserServiceRepositoryBase<TUserEntity>

Interfaces

IContactMailSuppressionCollection

The collection of addresses that opted out of contact mail.

IContactMessageCollection

The collection of the log of messages to contacts.

IDataProtectionKeyCollection
IIconRepositoryCollection
IIconSettingsRepositoryCollection
IInboundMailCollection
ISupportAiConnectionCollection
ISupportAssistantUsageCollection
ISupportCaseRepositoryCollection
ISupportEventLedgerCollection
ISupportMailPositionCollection
ITeamMailKeysCollection
ITeamRepositoryCollection<TTeamEntity, TTeamMemberModel>
ITeamRepository<TTeamEntity, TMember>

The team store behind TeamServiceRepositoryBase<TTeamEntity, TMember>.

IUserMailBatchCollection

The collection of content shared by one mail to many users.

IUserMailCollection

The collection of queued mail to users.

IUserMailPreferenceCollection

The collection of users' mail choices.

IUserMessageCollection

The collection of the sent log.

IUserNoticeCollection

The collection of raised notice occurrences.

IUserNoticeItemCollection

The collection of users' notices.

IUserNoticePreferenceCollection

The collection of users' notice choices.

IUserNoticeStreamCollection

The collection of users' notice streams.

IUserNoticeTeamDefaultCollection

The collection of teams' notice defaults.

IUserRepositoryCollection<TUserEntity>
IUserRepository<TUserEntity>