Table of Contents

Class ProjectJoinRequestDto

Namespace
Builvero.Application.DTOs
Assembly
Builvero.Application.dll

Data transfer object representing a project join request with requester, project, and status information.

public class ProjectJoinRequestDto
Inheritance
ProjectJoinRequestDto
Inherited Members

Remarks

This DTO is used for displaying join requests in both incoming (for project owners) and outgoing (for requesters) contexts. Join requests include secure tokens for email-based approval/decline without requiring login. Requests expire after 30 days.

Properties

CreatedAtUtc

Gets or sets the UTC timestamp when the join request was created.

public DateTime CreatedAtUtc { get; set; }

Property Value

DateTime
Data transfer object representing a project join request with requester, project, and status information.

ExpiresAtUtc

Gets or sets the UTC timestamp when the join request expires (30 days after creation).

public DateTime? ExpiresAtUtc { get; set; }

Property Value

DateTime?
Data transfer object representing a project join request with requester, project, and status information.

Id

Gets or sets the unique identifier of the join request.

public Guid Id { get; set; }

Property Value

Guid
Data transfer object representing a project join request with requester, project, and status information.

Message

Gets or sets an optional message from the requester explaining why they want to join the project.

public string? Message { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

OwnerName

Gets or sets the full name of the project owner.

public string OwnerName { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

OwnerUserId

Gets or sets the unique identifier of the project owner who can approve or decline the request.

public Guid OwnerUserId { get; set; }

Property Value

Guid
Data transfer object representing a project join request with requester, project, and status information.

ProjectId

Gets or sets the unique identifier of the project the user wants to join.

public Guid ProjectId { get; set; }

Property Value

Guid
Data transfer object representing a project join request with requester, project, and status information.

ProjectName

Gets or sets the name of the project the user wants to join.

public string ProjectName { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

RequesterName

Gets or sets the full name of the user who created the join request.

public string RequesterName { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

RequesterUserId

Gets or sets the unique identifier of the user who created the join request.

public Guid RequesterUserId { get; set; }

Property Value

Guid
Data transfer object representing a project join request with requester, project, and status information.

RespondedAtUtc

Gets or sets the UTC timestamp when the join request was responded to (null if still pending).

public DateTime? RespondedAtUtc { get; set; }

Property Value

DateTime?
Data transfer object representing a project join request with requester, project, and status information.

ResponseReason

Gets or sets an optional reason provided by the project owner when approving or declining the request.

public string? ResponseReason { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

Status

Gets or sets the current status of the join request (e.g., "Pending", "Approved", "Declined").

public string Status { get; set; }

Property Value

string
Data transfer object representing a project join request with requester, project, and status information.

Remarks

This is the string representation of the ProjectJoinRequestStatus enum.