namespace OliverBooth.Data.Web;
///
/// Represents a tutorial article.
///
public interface ITutorialArticle
{
///
/// Gets the body of this article.
///
/// The body.
string Body { get; }
///
/// Gets a value indicating whether comments are enabled for the article.
///
///
/// if comments are enabled for the article; otherwise, .
///
bool EnableComments { get; }
///
/// Gets the excerpt of this article, if it has one.
///
/// The excerpt, or if this article has no excerpt.
string? Excerpt { get; }
///
/// Gets the ID of the folder this article is contained within.
///
/// The ID of the folder.
int Folder { get; }
///
/// Gets a value indicating whether this article is part of a multi-part series.
///
/// if this article has additional parts; otherwise, .
bool HasOtherParts { get; }
///
/// Gets the ID of this article.
///
/// The ID.
int Id { get; }
///
/// Gets the ID of the next article to this one.
///
/// The next part ID.
int? NextPart { get; }
///
/// Gets the URL of the article's preview image.
///
/// The preview image URL.
Uri? PreviewImageUrl { get; }
///
/// Gets the ID of the previous article to this one.
///
/// The previous part ID.
int? PreviousPart { get; }
///
/// Gets the date and time at which this article was published.
///
/// The publish timestamp.
DateTimeOffset Published { get; }
///
/// Gets the ID of the post that was redirected to this article.
///
/// The source redirect post ID.
Guid? RedirectFrom { get; }
///
/// Gets the slug of this article.
///
/// The slug.
string Slug { get; }
///
/// Gets the title of this article.
///
/// The title.
string Title { get; }
///
/// Gets the date and time at which this article was updated.
///
/// The update timestamp, or if this article has not been updated.
DateTimeOffset? Updated { get; }
///
/// Gets the visibility of this article.
///
/// The visibility of the article.
Visibility Visibility { get; }
}