Class ThargaTeamOptions
public record ThargaTeamOptions : IEquatable<ThargaTeamOptions>
- Inheritance
-
ThargaTeamOptions
- Implements
- Inherited Members
Fields
DefaultContactMailSuppressionCollectionName
The default for ContactMailSuppressionCollectionName.
public const string DefaultContactMailSuppressionCollectionName = "ContactMailSuppression"
Field Value
DefaultContactMessageCollectionName
The default for ContactMessageCollectionName.
public const string DefaultContactMessageCollectionName = "ContactMessage"
Field Value
DefaultSupportAttachmentBucketName
The default for SupportAttachmentBucketName.
public const string DefaultSupportAttachmentBucketName = "SupportAttachment"
Field Value
DefaultUserMailBatchCollectionName
The default for UserMailBatchCollectionName.
public const string DefaultUserMailBatchCollectionName = "UserMailBatch"
Field Value
DefaultUserMailCollectionName
The default for UserMailCollectionName.
public const string DefaultUserMailCollectionName = "UserMail"
Field Value
DefaultUserMailPreferenceCollectionName
The default for UserMailPreferenceCollectionName.
public const string DefaultUserMailPreferenceCollectionName = "UserMailPreference"
Field Value
DefaultUserMailRetention
The default for UserMailRetention.
public static readonly TimeSpan DefaultUserMailRetention
Field Value
DefaultUserMessageCollectionName
The default for UserMessageCollectionName.
public const string DefaultUserMessageCollectionName = "UserMessage"
Field Value
DefaultUserNoticeCollectionName
The default for UserNoticeCollectionName.
public const string DefaultUserNoticeCollectionName = "UserNotice"
Field Value
DefaultUserNoticeItemCollectionName
The default for UserNoticeItemCollectionName.
public const string DefaultUserNoticeItemCollectionName = "UserNoticeItem"
Field Value
DefaultUserNoticePreferenceCollectionName
The default for UserNoticePreferenceCollectionName.
public const string DefaultUserNoticePreferenceCollectionName = "UserNoticePreference"
Field Value
DefaultUserNoticeRetention
The default for UserNoticeRetention.
public static readonly TimeSpan DefaultUserNoticeRetention
Field Value
DefaultUserNoticeStreamCollectionName
The default for UserNoticeStreamCollectionName.
public const string DefaultUserNoticeStreamCollectionName = "UserNoticeStream"
Field Value
DefaultUserNoticeTeamDefaultCollectionName
The default for UserNoticeTeamDefaultCollectionName.
public const string DefaultUserNoticeTeamDefaultCollectionName = "UserNoticeTeamDefault"
Field Value
Properties
CheckMemberAccessLevels
Whether to report, at startup, stored team members that carry no access level and therefore, since
4.0, have no access to their team. Default true.
public bool CheckMemberAccessLevels { get; set; }
Property Value
Remarks
On by default because the condition it finds changed meaning in 4.0. Before it, a member with no stored level was silently an Owner; since then they are silently refused. That is the safe direction, but it can lock out a team's original owner on upgrade, and nothing else in the logs says why.
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.
ContactMailSuppressionCollectionName
Collection holding the addresses that opted out of contact mail, kept for good, default ContactMailSuppression.
public string ContactMailSuppressionCollectionName { get; set; }
Property Value
ContactMessageCollectionName
Collection holding the log of messages staff sent to contacts, each with the list it was sent to, kept for UserMailRetention, default ContactMessage.
public string ContactMessageCollectionName { get; set; }
Property Value
DataProtectionKeyCollectionName
Collection holding the Data Protection key ring, when PersistKeysToThargaMongo keeps it here. Default
DataProtectionKey.
public string DataProtectionKeyCollectionName { get; set; }
Property Value
IconCollectionName
MongoDB collection name for icon documents (the built-in MongoIconStore). Default is "Icon".
public string IconCollectionName { get; set; }
Property Value
IconSettingsCollectionName
Collection holding the site's icon settings (the built-in MongoIconSettingsStore). One document. Default is "IconSettings".
public string IconSettingsCollectionName { get; set; }
Property Value
InboundMailCollectionName
Collection holding received mail for teams' mailboxes and the postmaster — the envelope only; the raw
message is kept by the host's content store. Default InboundMail.
public string InboundMailCollectionName { get; set; }
Property Value
SupportAiConnectionCollectionName
Collection holding each team's AI connection for the support assistant, one document per team, the key only
encrypted. Default SupportAiConnection.
public string SupportAiConnectionCollectionName { get; set; }
Property Value
SupportAssistantUsageCollectionName
Collection holding the support assistant's usage, one document per time it was asked. Default
SupportAssistantUsage.
public string SupportAssistantUsageCollectionName { get; set; }
Property Value
SupportAttachmentBucketName
GridFS bucket holding the files support messages carry, beside the support cases. Default
SupportAttachment.
public string SupportAttachmentBucketName { 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
TeamMailKeyCollectionName
Collection holding each team's mail keys, one document per team. Default TeamMailKey.
public string TeamMailKeyCollectionName { get; set; }
Property Value
UserCollectionName
MongoDB collection name for user documents. Default is "User".
public string UserCollectionName { get; set; }
Property Value
UserMailBatchCollectionName
Collection holding the content one mail to many users shares, stored once, default UserMailBatch.
public string UserMailBatchCollectionName { get; set; }
Property Value
UserMailCollectionName
Collection holding queued mail to users and what became of it, default UserMail.
public string UserMailCollectionName { get; set; }
Property Value
UserMailPreferenceCollectionName
Collection holding users' mail choices that differ from a category's default, default UserMailPreference.
public string UserMailPreferenceCollectionName { get; set; }
Property Value
UserMailRetention
How long a mail to a user is kept once sent, skipped or given up, a batch once its last mail is, and a sent message from when it was sent; default 90 days.
public TimeSpan UserMailRetention { get; set; }
Property Value
UserMessageCollectionName
Collection holding the log of messages staff sent to users, default UserMessage.
public string UserMessageCollectionName { get; set; }
Property Value
UserNoticeCollectionName
Collection holding raised notice occurrences until they are distributed, default UserNotice.
public string UserNoticeCollectionName { get; set; }
Property Value
UserNoticeItemCollectionName
Collection holding each user's notices until and after they are mailed, default UserNoticeItem.
public string UserNoticeItemCollectionName { get; set; }
Property Value
UserNoticePreferenceCollectionName
Collection holding users' notice choices that differ from a default, default UserNoticePreference.
public string UserNoticePreferenceCollectionName { get; set; }
Property Value
UserNoticeRetention
How long a distributed occurrence and a mailed notice are kept, which is also how long an occurrence raised again is recognised and not sent twice; default 90 days.
public TimeSpan UserNoticeRetention { get; set; }
Property Value
UserNoticeStreamCollectionName
Collection holding when each user's next notice mail is due, default UserNoticeStream.
public string UserNoticeStreamCollectionName { get; set; }
Property Value
UserNoticeTeamDefaultCollectionName
Collection holding teams' notice defaults that differ from the catalogue's, default UserNoticeTeamDefault.
public string UserNoticeTeamDefaultCollectionName { 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