Table of Contents

Namespace Tharga.Team.MongoDB

Classes

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.

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.

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).

SupportChannelBindingEntity

An embedded projection onto an external system.

SupportEventLedgerCollection

Collection of handled inbound events. Default collection name SupportEventLedger.

SupportEventLedgerEntity

One handled inbound channel event.

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.

TeamEntityBase<TTeamMemberModel>
TeamMemberBase
TeamServiceRepositoryBase<TTeamEntity, TMember>
ThargaTeamOptions
ThargaTeamRegistration
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

IIconRepositoryCollection
ISupportCaseRepositoryCollection
ISupportEventLedgerCollection
ISupportMailPositionCollection
ITeamRepositoryCollection<TTeamEntity, TTeamMemberModel>
ITeamRepository<TTeamEntity, TMember>
IUserRepositoryCollection<TUserEntity>
IUserRepository<TUserEntity>