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/UserEntity.cs | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 BackEnd/Timeline/Entities/UserEntity.cs (limited to 'BackEnd/Timeline/Entities/UserEntity.cs') diff --git a/BackEnd/Timeline/Entities/UserEntity.cs b/BackEnd/Timeline/Entities/UserEntity.cs new file mode 100644 index 00000000..0cfaa335 --- /dev/null +++ b/BackEnd/Timeline/Entities/UserEntity.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Timeline.Entities +{ + public static class UserRoles + { + public const string Admin = "admin"; + public const string User = "user"; + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "CA2227:Collection properties should be read only", Justification = "This is an entity class.")] + [Table("users")] + public class UserEntity + { + [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public long Id { get; set; } + + [Column("unique_id"), Required] + public string UniqueId { get; set; } = default!; + + [Column("username"), Required] + public string Username { get; set; } = default!; + + [Column("username_change_time")] + public DateTime UsernameChangeTime { get; set; } + + [Column("password"), Required] + public string Password { get; set; } = default!; + + [Column("roles"), Required] + public string Roles { get; set; } = default!; + + [Column("version"), Required] + public long Version { get; set; } + + [Column("nickname")] + public string? Nickname { get; set; } + + [Column("create_time")] + public DateTime CreateTime { get; set; } + + [Column("last_modified")] + public DateTime LastModified { get; set; } + + public UserAvatarEntity? Avatar { get; set; } + + public List Timelines { get; set; } = default!; + + public List TimelinePosts { get; set; } = default!; + + public List TimelinesJoined { get; set; } = default!; + } +} -- cgit v1.2.3