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 Media { get; private set; } public bool IsPublic { get; set; } private Post() { } public Post(Guid authorId, string content, IList media) { this.Id = Guid.CreateVersion7(); this.AuthorId = authorId; this.Content = content; this.Media = media; this.AddDomainEvent(new PostCreated(this)); } }