using System; using System.Collections.Generic; using Timeline.Entities; namespace Timeline.Models { public enum TimelineVisibility { /// /// All people including those without accounts. /// Public, /// /// Only people signed in. /// Register, /// /// Only member. /// Private } public class TimelinePostInfo { public long Id { get; set; } public string? Content { get; set; } public DateTime Time { get; set; } /// /// The username of the author. /// public string Author { get; set; } = default!; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "CA2227:Collection properties should be read only", Justification = "This is a DTO class.")] public class BaseTimelineInfo { public string? Description { get; set; } /// /// The username of the owner. /// public string Owner { get; set; } = default!; public TimelineVisibility Visibility { get; set; } public List Members { get; set; } = default!; } public class TimelineInfo : BaseTimelineInfo { public string Name { get; set; } = default!; } }