Table of Contents

Class ProjectInvitation

Namespace
Builvero.Domain.Entities
Assembly
Builvero.Domain.dll

Represents an invitation sent by a project owner or member to invite another user to join a project.

public class ProjectInvitation
Inheritance
ProjectInvitation
Inherited Members

Remarks

Project invitations allow project owners and members to proactively invite specific users to join their project. Invitations can include an optional message and have an expiration date. The recipient can accept, decline, or let the invitation expire. A unique token is generated for each invitation to enable secure acceptance via email links.

Properties

CreatedAtUtc

Gets or sets the UTC timestamp when this invitation was created.

public DateTime CreatedAtUtc { get; set; }

Property Value

DateTime
Represents an invitation sent by a project owner or member to invite another user to join a project.

ExpiresAtUtc

Gets or sets the UTC timestamp when this invitation expires, or null if it never expires.

public DateTime? ExpiresAtUtc { get; set; }

Property Value

DateTime?
Represents an invitation sent by a project owner or member to invite another user to join a project.

Remarks

If set, the invitation cannot be accepted after this date. Expired invitations should have their status updated to Expired.

FromUser

Gets or sets the user who sent this invitation.

public User FromUser { get; set; }

Property Value

User
Represents an invitation sent by a project owner or member to invite another user to join a project.

FromUserId

Gets or sets the unique identifier of the user who sent this invitation.

public Guid FromUserId { get; set; }

Property Value

Guid
Represents an invitation sent by a project owner or member to invite another user to join a project.

Id

Gets or sets the unique identifier for this project invitation.

public Guid Id { get; set; }

Property Value

Guid
Represents an invitation sent by a project owner or member to invite another user to join a project.

Message

Gets or sets an optional message included with the invitation, providing context or additional information.

public string? Message { get; set; }

Property Value

string
Represents an invitation sent by a project owner or member to invite another user to join a project.

Project

Gets or sets the project this invitation is for.

public Project Project { get; set; }

Property Value

Project
Represents an invitation sent by a project owner or member to invite another user to join a project.

ProjectId

Gets or sets the unique identifier of the project this invitation is for.

public Guid ProjectId { get; set; }

Property Value

Guid
Represents an invitation sent by a project owner or member to invite another user to join a project.

RespondedAtUtc

Gets or sets the UTC timestamp when the invitation was responded to (accepted, declined, etc.), or null if not yet responded to.

public DateTime? RespondedAtUtc { get; set; }

Property Value

DateTime?
Represents an invitation sent by a project owner or member to invite another user to join a project.

ResponseReason

Gets or sets an optional reason provided when the invitation was responded to (accepted, declined, etc.).

public string? ResponseReason { get; set; }

Property Value

string
Represents an invitation sent by a project owner or member to invite another user to join a project.

Status

Gets or sets the current status of this invitation.

public ProjectInvitationStatus Status { get; set; }

Property Value

ProjectInvitationStatus
Represents an invitation sent by a project owner or member to invite another user to join a project.

ToUser

Gets or sets the user who is being invited to join the project.

public User ToUser { get; set; }

Property Value

User
Represents an invitation sent by a project owner or member to invite another user to join a project.

ToUserId

Gets or sets the unique identifier of the user who is being invited to join the project.

public Guid ToUserId { get; set; }

Property Value

Guid
Represents an invitation sent by a project owner or member to invite another user to join a project.

Token

Gets or sets the unique token associated with this invitation, used for secure acceptance via email links.

public string Token { get; set; }

Property Value

string
Represents an invitation sent by a project owner or member to invite another user to join a project.

Remarks

This token is included in invitation emails and allows users to accept invitations without logging in first. The token should be cryptographically secure and unique per invitation.