Table of Contents

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

AccessLevel

DecidedAt

When it was approved, denied or cancelled (UTC).

public DateTime? DecidedAt { get; init; }

Property Value

DateTime?

DecidedBy

The user key of whoever approved, denied or cancelled it.

public string DecidedBy { get; init; }

Property Value

string

Duration

How long access should last once approved. Null asks for no end.

public TimeSpan? Duration { get; init; }

Property Value

TimeSpan?

GrantedUntil

For an approved request with a duration, when the consent it granted runs out (UTC).

public DateTime? GrantedUntil { get; init; }

Property Value

DateTime?

Id

Identifies the request within its team.

public required string Id { get; init; }

Property Value

string

Message

Why access is needed, as the requester wrote it. Optional.

public string Message { get; init; }

Property Value

string

RequestedAt

When the request was made (UTC).

public required DateTime RequestedAt { get; init; }

Property Value

DateTime

RequesterKey

The requester's user key.

public required string RequesterKey { get; init; }

Property Value

string

RequesterName

The requester's display name when the request was made, for the approver.

public string RequesterName { get; init; }

Property Value

string

Status

Where the request stands.

public TeamAccessRequestStatus Status { get; init; }

Property Value

TeamAccessRequestStatus