Class ThargaTeamOptions
public record ThargaTeamOptions : IEquatable<ThargaTeamOptions>
- Inheritance
-
ThargaTeamOptions
- Implements
- Inherited Members
Properties
CheckMemberAccessLevels
Whether to report, at startup, stored team members that carry no access level and are therefore
being treated as Owner. Default true.
public bool CheckMemberAccessLevels { get; set; }
Property Value
Remarks
On by default because the condition it finds is a silent privilege grant. A member with no
stored level is an Owner, with nothing in the logs and nothing visible in the UI to say so — and
since Owner is the enum's zero value, no check above the store can distinguish it from a
member deliberately made one. Silence about that should be something a host chooses, not something
it gets by default.
The cost of leaving it on is one count query per start, which returns immediately on a deployment
with nothing to report. Set false once the data is corrected, or if the startup query is
unwelcome.
IconCollectionName
MongoDB collection name for icon documents (the built-in MongoIconStore). Default is "Icon".
public string IconCollectionName { get; set; }
Property Value
SupportCaseCollectionName
Collection holding support cases and their transcripts. Default SupportCase.
public string SupportCaseCollectionName { get; set; }
Property Value
SupportEventLedgerCollectionName
Collection remembering which inbound channel events have been handled. Default
SupportEventLedger.
public string SupportEventLedgerCollectionName { get; set; }
Property Value
SupportEventLedgerRetention
How long a handled event is remembered. Default 24 hours.
public TimeSpan SupportEventLedgerRetention { get; set; }
Property Value
Remarks
Only has to outlast the channel's own retry window - Slack gives up long before a day - so this is generous. Entries expire by TTL index rather than accumulating.
SupportMailPositionCollectionName
Collection remembering how far the support mailbox has been read. Default
SupportMailPosition.
public string SupportMailPositionCollectionName { get; set; }
Property Value
TeamCollectionName
MongoDB collection name for team documents. Default is "Team".
public string TeamCollectionName { get; set; }
Property Value
UserCollectionName
MongoDB collection name for user documents. Default is "User".
public string UserCollectionName { get; set; }
Property Value
Methods
RegisterTeamRepository<TTeamEntity, TTeamMemberModel>()
public void RegisterTeamRepository<TTeamEntity, TTeamMemberModel>() where TTeamEntity : TeamEntityBase<TTeamMemberModel> where TTeamMemberModel : TeamMemberBase
Type Parameters
TTeamEntityTTeamMemberModel
RegisterUserRepository<TUserEntity>()
Registers the User repository using the built-in UserRepositoryCollection<TUserEntity>.
Use the RegisterUserRepository<TUserEntity, TCollection> overload to register a consumer
subclass that declares additional per-deployment indices.
public void RegisterUserRepository<TUserEntity>() where TUserEntity : EntityBase, IUser
Type Parameters
TUserEntity
RegisterUserRepository<TUserEntity, TCollection>()
Registers the User repository with a consumer-provided collection subclass.
Use this when you need to add per-deployment indices on top of the built-in
unique Identity index (e.g. a unique index on a custom email field).
public void RegisterUserRepository<TUserEntity, TCollection>() where TUserEntity : EntityBase, IUser where TCollection : UserRepositoryCollection<TUserEntity>
Type Parameters
TUserEntityTCollection