Table of Contents

Class InvitationOptions

Namespace
Tharga.Team
Assembly
Tharga.Team.dll

Invitation policy — how long an invitation stays acceptable.

public class InvitationOptions
Inheritance
InvitationOptions
Inherited Members

Remarks

In the core package rather than the Blazor one, for the reason ConsentOptions gives: this decides whether a caller may join a team, which is authorization rather than presentation, and every surface that answers it has to agree. Resolve it as IOptions<InvitationOptions>; a host that never configures it gets these defaults.

Properties

Lifetime

How long an invitation remains acceptable, measured from when it was created. null — the default — means invitations never expire.

public TimeSpan? Lifetime { get; set; }

Property Value

TimeSpan?

Remarks

Null by default on purpose. Invitations did not expire before this option existed, and a lifetime applied on upgrade would silently invalidate every invitation already outstanding — including links people had been sent and not yet opened. Opting in is a decision a host makes knowingly.

This is the default for new invitations, not a rule applied to existing ones: an invitation carrying its own ExpiresAt keeps that, which is what makes extending one possible without reissuing its code.

MaxThrottleDelay

The longest a failed resolve is delayed once the threshold is passed. Default: two seconds.

public TimeSpan MaxThrottleDelay { get; set; }

Property Value

TimeSpan

Remarks

A delay, never a refusal. An invitee retrying a link, or several people in one office behind one address accepting invitations the same morning, must not be locked out — so the throttle slows a guess and makes it visible, and never turns a real invitation away.

ThrottleFailureThreshold

How many failed resolves a source may make inside ThrottleWindow before failures start being delayed. Default: 5. Zero or less turns throttling off.

public int ThrottleFailureThreshold { get; set; }

Property Value

int

Remarks

Generous rather than off by default. A real invitee fails once or twice — a mistyped link, a code already accepted — and never reaches five, so the default costs nothing a person would notice while still slowing a script. Off by default would mean nobody gets it.

ThrottleWindow

How long failures are remembered for. Default: five minutes.

public TimeSpan ThrottleWindow { get; set; }

Property Value

TimeSpan