Table of Contents

Namespace Tharga.Team.MongoDB

Classes

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.

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
ITeamRepositoryCollection<TTeamEntity, TTeamMemberModel>
ITeamRepository<TTeamEntity, TMember>
IUserRepositoryCollection<TUserEntity>
IUserRepository<TUserEntity>