Class TeamAccessRequest
- Namespace
- Tharga.Team
- Assembly
- Tharga.Team.dll
A request, by someone holding a consent role, for access to a team they are not a member of.
public sealed record TeamAccessRequest : IEquatable<TeamAccessRequest>
- Inheritance
-
TeamAccessRequest
- Implements
- Inherited Members
Remarks
Approving grants through the team's consent, not to the requester personally: every configured consent role reaches the team at AccessLevel until GrantedUntil. That is how consent works in this toolkit, and the approval screen says so.
A duration is requested, not an end time. The window starts when the request is approved, so time spent waiting for a decision does not use it up.
Properties
AccessLevel
The level asked for. One of RequestableLevels.
public required AccessLevel AccessLevel { get; init; }
Property Value
DecidedAt
When it was approved, denied or cancelled (UTC).
public DateTime? DecidedAt { get; init; }
Property Value
DecidedBy
The user key of whoever approved, denied or cancelled it.
public string DecidedBy { get; init; }
Property Value
Duration
How long access should last once approved. Null asks for no end.
public TimeSpan? Duration { get; init; }
Property Value
GrantedUntil
For an approved request with a duration, when the consent it granted runs out (UTC).
public DateTime? GrantedUntil { get; init; }
Property Value
Id
Identifies the request within its team.
public required string Id { get; init; }
Property Value
Message
Why access is needed, as the requester wrote it. Optional.
public string Message { get; init; }
Property Value
RequestedAt
When the request was made (UTC).
public required DateTime RequestedAt { get; init; }
Property Value
RequesterKey
The requester's user key.
public required string RequesterKey { get; init; }
Property Value
RequesterName
The requester's display name when the request was made, for the approver.
public string RequesterName { get; init; }
Property Value
Status
Where the request stands.
public TeamAccessRequestStatus Status { get; init; }