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.