From 05ccb4d8f1bbe3fb64e117136b4a89bcfb0b0b33 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 27 Oct 2020 19:21:35 +0800 Subject: Split front and back end. --- BackEnd/Timeline/Entities/TimelineEntity.cs | 58 +++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 BackEnd/Timeline/Entities/TimelineEntity.cs (limited to 'BackEnd/Timeline/Entities/TimelineEntity.cs') diff --git a/BackEnd/Timeline/Entities/TimelineEntity.cs b/BackEnd/Timeline/Entities/TimelineEntity.cs new file mode 100644 index 00000000..3e592673 --- /dev/null +++ b/BackEnd/Timeline/Entities/TimelineEntity.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Timeline.Models; + +namespace Timeline.Entities +{ +#pragma warning disable CA2227 // Collection properties should be read only + // TODO: Create index for this table. + [Table("timelines")] + public class TimelineEntity + { + [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public long Id { get; set; } + + [Column("unique_id"), Required] + public string UniqueId { get; set; } = default!; + + /// + /// If null, then this timeline is a personal timeline. + /// + [Column("name")] + public string? Name { get; set; } + + [Column("title")] + public string? Title { get; set; } + + [Column("name_last_modified")] + public DateTime NameLastModified { get; set; } + + [Column("description")] + public string? Description { get; set; } + + [Column("owner")] + public long OwnerId { get; set; } + + [ForeignKey(nameof(OwnerId))] + public UserEntity Owner { get; set; } = default!; + + [Column("visibility")] + public TimelineVisibility Visibility { get; set; } + + [Column("create_time")] + public DateTime CreateTime { get; set; } + + [Column("last_modified")] + public DateTime LastModified { get; set; } + + [Column("current_post_local_id")] + public long CurrentPostLocalId { get; set; } + + public List Members { get; set; } = default!; + + public List Posts { get; set; } = default!; + } +#pragma warning restore CA2227 // Collection properties should be read only +} -- cgit v1.2.3