femto-backend/Femto.Modules.Blog/Domain/Posts/Post.cs
2025-05-18 13:40:05 +02:00

25 lines
687 B
C#

using Femto.Common.Domain;
using Femto.Modules.Blog.Domain.Posts.Events;
namespace Femto.Modules.Blog.Domain.Posts;
internal class Post : Entity
{
public Guid Id { get; private set; }
public Guid AuthorId { get; private set; }
public string Content { get; private set; } = null!;
public IList<PostMedia> Media { get; private set; }
public bool IsPublic { get; set; }
private Post() { }
public Post(Guid authorId, string content, IList<PostMedia> media)
{
this.Id = Guid.CreateVersion7();
this.AuthorId = authorId;
this.Content = content;
this.Media = media;
this.AddDomainEvent(new PostCreated(this));
}
}