Class ProjectForumTopicDto
- Namespace
- Builvero.Application.DTOs.Forum
- Assembly
- Builvero.Application.dll
Data transfer object representing a forum topic with its messages and metadata.
public class ProjectForumTopicDto
- Inheritance
-
ProjectForumTopicDto
- Inherited Members
Remarks
This DTO is used for displaying forum topics within projects. Topics can be soft-deleted by admins/moderators, and deleted topics are only visible to users with elevated permissions (Admin, Moderator, TeamMember). The Messages list contains all messages in the topic, with deleted messages filtered based on user permissions.
Properties
CreatedAtUtc
Gets or sets the UTC timestamp when the topic was created.
public DateTime CreatedAtUtc { get; set; }
Property Value
- DateTime
- Data transfer object representing a forum topic with its messages and metadata.
CreatedByUserId
Gets or sets the unique identifier of the user who created the topic.
public Guid CreatedByUserId { get; set; }
Property Value
- Guid
- Data transfer object representing a forum topic with its messages and metadata.
CreatedByUserName
Gets or sets the full name of the user who created the topic.
public string CreatedByUserName { get; set; }
Property Value
- string
- Data transfer object representing a forum topic with its messages and metadata.
DeletedAtUtc
Gets or sets the UTC timestamp when the topic was deleted (null if not deleted).
public DateTime? DeletedAtUtc { get; set; }
Property Value
- DateTime?
- Data transfer object representing a forum topic with its messages and metadata.
DeletedByUserName
Gets or sets the full name of the user who deleted the topic (null if not deleted).
public string? DeletedByUserName { get; set; }
Property Value
- string
- Data transfer object representing a forum topic with its messages and metadata.
Id
Gets or sets the unique identifier of the topic.
public Guid Id { get; set; }
Property Value
- Guid
- Data transfer object representing a forum topic with its messages and metadata.
IsDeleted
Gets or sets a value indicating whether this topic has been soft-deleted.
public bool IsDeleted { get; set; }
Property Value
- bool
- Data transfer object representing a forum topic with its messages and metadata.
Remarks
Deleted topics are only visible to users with elevated permissions (Admin, Moderator, TeamMember). Regular users never see deleted topics.
LastMessageAtUtc
Gets or sets the UTC timestamp of the most recent message in this topic (null if no messages).
public DateTime? LastMessageAtUtc { get; set; }
Property Value
- DateTime?
- Data transfer object representing a forum topic with its messages and metadata.
MessageCount
Gets or sets the total number of messages in this topic (excluding deleted messages for regular users).
public int MessageCount { get; set; }
Property Value
- int
- Data transfer object representing a forum topic with its messages and metadata.
Messages
Gets or sets the list of messages in this topic.
public List<ProjectForumMessageDto> Messages { get; set; }
Property Value
- List<ProjectForumMessageDto>
- Data transfer object representing a forum topic with its messages and metadata.
Remarks
For regular users, this list excludes deleted messages. For users with elevated permissions, deleted messages are included based on the includeDeleted parameter.
ProjectId
Gets or sets the unique identifier of the project this topic belongs to.
public Guid ProjectId { get; set; }
Property Value
- Guid
- Data transfer object representing a forum topic with its messages and metadata.
ProjectName
Gets or sets the name of the project this topic belongs to.
public string ProjectName { get; set; }
Property Value
- string
- Data transfer object representing a forum topic with its messages and metadata.
Title
Gets or sets the title of the topic (must be unique within the project).
public string Title { get; set; }
Property Value
- string
- Data transfer object representing a forum topic with its messages and metadata.
UpdatedAtUtc
Gets or sets the UTC timestamp when the topic was last updated (null if never updated).
public DateTime? UpdatedAtUtc { get; set; }
Property Value
- DateTime?
- Data transfer object representing a forum topic with its messages and metadata.