using Yavsc.Abstract.Identity.Security; namespace Yavsc.Blogspot; public class BlogPostDto : IBlogPost { public string AuthorId { get; set; } public BlogPostAuthorDto? Author { get; set; } public string Article { get; set ; } public string Photo { get; set ; } public long Id { get; set; } public DateTime DateCreated { get; set; } public string UserCreated { get; set; } public DateTime DateModified { get; set; } public string UserModified { get; set; } public string Title { get; set; } /// /// Whether this post is published. Derived server-side from /// the existence of a row in BlogSpotPublication /// (a row means published, no row means draft). Not stored /// on BlogPost — it's a computed projection of the /// publication table, surfaced through the wire DTO so /// clients can render the current state without a /// follow-up request. Toggled via /// PUT /api/BlogApi/{id}/publish. /// public bool IsPublished { get; set; } public virtual bool AuthorizeCircle(long circleId) { ACL.Add(new CircleAuthorization { CircleId = circleId }); return true; } private List ACL { get; set; } = new List(); public string[] Tags { get; set; } public string[] GetTags() => Tags; public ICircleAuthorization[] GetACL() => ACL.ToArray(); }