oliverbooth.dev/OliverBooth.Common/Data/Blog/ILegacyComment.cs
Oliver Booth 6ec4103a3a
refactor: separate Markdig extensions from project
Also introduces .Common project to house common references and types
2024-05-05 02:18:20 +01:00

55 lines
1.5 KiB
C#

namespace OliverBooth.Common.Data.Blog;
/// <summary>
/// Represents a comment that was posted on a legacy comment framework.
/// </summary>
public interface ILegacyComment
{
/// <summary>
/// Gets the PNG-encoded avatar of the author.
/// </summary>
/// <value>The author's avatar.</value>
string? Avatar { get; }
/// <summary>
/// Gets the name of the comment's author.
/// </summary>
/// <value>The author's name.</value>
string Author { get; }
/// <summary>
/// Gets the body of the comment.
/// </summary>
/// <value>The comment body.</value>
string Body { get; }
/// <summary>
/// Gets the date and time at which this comment was posted.
/// </summary>
/// <value>The creation timestamp.</value>
DateTimeOffset CreatedAt { get; }
/// <summary>
/// Gets the ID of this comment.
/// </summary>
Guid Id { get; }
/// <summary>
/// Gets the ID of the comment this comment is replying to.
/// </summary>
/// <value>The parent comment ID, or <see langword="null" /> if this comment is not a reply.</value>
Guid? ParentComment { get; }
/// <summary>
/// Gets the ID of the post to which this comment was posted.
/// </summary>
/// <value>The post ID.</value>
Guid PostId { get; }
/// <summary>
/// Gets the avatar URL of the comment's author.
/// </summary>
/// <returns>The avatar URL.</returns>
string GetAvatarUrl();
}