From 4aadb05cd5718c7d16bf432c96e23ae4e7db4783 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 21 Jan 2020 01:11:17 +0800 Subject: ... --- Timeline/Entities/DatabaseContext.cs | 10 ++++---- Timeline/Entities/TimelineEntity.cs | 2 +- Timeline/Entities/TimelineMemberEntity.cs | 2 +- Timeline/Entities/TimelinePostEntity.cs | 2 +- Timeline/Entities/User.cs | 42 ------------------------------- Timeline/Entities/UserAvatar.cs | 28 --------------------- Timeline/Entities/UserAvatarEntity.cs | 28 +++++++++++++++++++++ Timeline/Entities/UserDetail.cs | 21 ---------------- Timeline/Entities/UserDetailEntity.cs | 17 +++++++++++++ Timeline/Entities/UserEntity.cs | 42 +++++++++++++++++++++++++++++++ 10 files changed, 95 insertions(+), 99 deletions(-) delete mode 100644 Timeline/Entities/User.cs delete mode 100644 Timeline/Entities/UserAvatar.cs create mode 100644 Timeline/Entities/UserAvatarEntity.cs delete mode 100644 Timeline/Entities/UserDetail.cs create mode 100644 Timeline/Entities/UserDetailEntity.cs create mode 100644 Timeline/Entities/UserEntity.cs (limited to 'Timeline/Entities') diff --git a/Timeline/Entities/DatabaseContext.cs b/Timeline/Entities/DatabaseContext.cs index ffb6158a..738440b2 100644 --- a/Timeline/Entities/DatabaseContext.cs +++ b/Timeline/Entities/DatabaseContext.cs @@ -13,13 +13,13 @@ namespace Timeline.Entities [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")] protected override void OnModelCreating(ModelBuilder modelBuilder) { - modelBuilder.Entity().Property(e => e.Version).HasDefaultValue(0); - modelBuilder.Entity().HasIndex(e => e.Name).IsUnique(); + modelBuilder.Entity().Property(e => e.Version).HasDefaultValue(0); + modelBuilder.Entity().HasIndex(e => e.Name).IsUnique(); } - public DbSet Users { get; set; } = default!; - public DbSet UserAvatars { get; set; } = default!; - public DbSet UserDetails { get; set; } = default!; + public DbSet Users { get; set; } = default!; + public DbSet UserAvatars { get; set; } = default!; + public DbSet UserDetails { get; set; } = default!; public DbSet Timelines { get; set; } = default!; public DbSet TimelinePosts { get; set; } = default!; public DbSet TimelineMembers { get; set; } = default!; diff --git a/Timeline/Entities/TimelineEntity.cs b/Timeline/Entities/TimelineEntity.cs index 9cacfcae..2bfd6107 100644 --- a/Timeline/Entities/TimelineEntity.cs +++ b/Timeline/Entities/TimelineEntity.cs @@ -26,7 +26,7 @@ namespace Timeline.Entities public long OwnerId { get; set; } [ForeignKey(nameof(OwnerId))] - public User Owner { get; set; } = default!; + public UserEntity Owner { get; set; } = default!; [Column("visibility")] public TimelineVisibility Visibility { get; set; } diff --git a/Timeline/Entities/TimelineMemberEntity.cs b/Timeline/Entities/TimelineMemberEntity.cs index dbe861bd..e76f2099 100644 --- a/Timeline/Entities/TimelineMemberEntity.cs +++ b/Timeline/Entities/TimelineMemberEntity.cs @@ -13,7 +13,7 @@ namespace Timeline.Entities public long UserId { get; set; } [ForeignKey(nameof(UserId))] - public User User { get; set; } = default!; + public UserEntity User { get; set; } = default!; [Column("timeline")] public long TimelineId { get; set; } diff --git a/Timeline/Entities/TimelinePostEntity.cs b/Timeline/Entities/TimelinePostEntity.cs index efef3ab5..a615c61f 100644 --- a/Timeline/Entities/TimelinePostEntity.cs +++ b/Timeline/Entities/TimelinePostEntity.cs @@ -20,7 +20,7 @@ namespace Timeline.Entities public long AuthorId { get; set; } [ForeignKey(nameof(AuthorId))] - public User Author { get; set; } = default!; + public UserEntity Author { get; set; } = default!; [Column("content")] public string? Content { get; set; } diff --git a/Timeline/Entities/User.cs b/Timeline/Entities/User.cs deleted file mode 100644 index e725a69a..00000000 --- a/Timeline/Entities/User.cs +++ /dev/null @@ -1,42 +0,0 @@ -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 User - { - [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public long Id { get; set; } - - [Column("name"), MaxLength(26), Required] - public string Name { get; set; } = default!; - - [Column("password"), Required] - public string EncryptedPassword { get; set; } = default!; - - [Column("roles"), Required] - public string RoleString { get; set; } = default!; - - [Column("version"), Required] - public long Version { get; set; } - - public UserAvatar? Avatar { get; set; } - - public UserDetail? Detail { get; set; } - - public List Timelines { get; set; } = default!; - - public List TimelinePosts { get; set; } = default!; - - public List TimelinesJoined { get; set; } = default!; - } -} diff --git a/Timeline/Entities/UserAvatar.cs b/Timeline/Entities/UserAvatar.cs deleted file mode 100644 index 114246f3..00000000 --- a/Timeline/Entities/UserAvatar.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; - -namespace Timeline.Entities -{ - [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "This is data base entity.")] - [Table("user_avatars")] - public class UserAvatar - { - [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public long Id { get; set; } - - [Column("data")] - public byte[]? Data { get; set; } - - [Column("type")] - public string? Type { get; set; } - - [Column("etag"), MaxLength(30)] - public string? ETag { get; set; } - - [Column("last_modified"), Required] - public DateTime LastModified { get; set; } - - public long UserId { get; set; } - } -} diff --git a/Timeline/Entities/UserAvatarEntity.cs b/Timeline/Entities/UserAvatarEntity.cs new file mode 100644 index 00000000..eed819bc --- /dev/null +++ b/Timeline/Entities/UserAvatarEntity.cs @@ -0,0 +1,28 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Timeline.Entities +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "This is data base entity.")] + [Table("user_avatars")] + public class UserAvatarEntity + { + [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public long Id { get; set; } + + [Column("data")] + public byte[]? Data { get; set; } + + [Column("type")] + public string? Type { get; set; } + + [Column("etag"), MaxLength(30)] + public string? ETag { get; set; } + + [Column("last_modified"), Required] + public DateTime LastModified { get; set; } + + public long UserId { get; set; } + } +} diff --git a/Timeline/Entities/UserDetail.cs b/Timeline/Entities/UserDetail.cs deleted file mode 100644 index 45f87e2b..00000000 --- a/Timeline/Entities/UserDetail.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Threading.Tasks; - -namespace Timeline.Entities -{ - [Table("user_details")] - public class UserDetail - { - [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public long Id { get; set; } - - [Column("nickname"), MaxLength(26)] - public string? Nickname { get; set; } - - public long UserId { get; set; } - } -} diff --git a/Timeline/Entities/UserDetailEntity.cs b/Timeline/Entities/UserDetailEntity.cs new file mode 100644 index 00000000..7a525294 --- /dev/null +++ b/Timeline/Entities/UserDetailEntity.cs @@ -0,0 +1,17 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Timeline.Entities +{ + [Table("user_details")] + public class UserDetailEntity + { + [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public long Id { get; set; } + + [Column("nickname"), MaxLength(26)] + public string? Nickname { get; set; } + + public long UserId { get; set; } + } +} diff --git a/Timeline/Entities/UserEntity.cs b/Timeline/Entities/UserEntity.cs new file mode 100644 index 00000000..83ef5621 --- /dev/null +++ b/Timeline/Entities/UserEntity.cs @@ -0,0 +1,42 @@ +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("name"), MaxLength(26), Required] + public string Name { get; set; } = default!; + + [Column("password"), Required] + public string EncryptedPassword { get; set; } = default!; + + [Column("roles"), Required] + public string RoleString { get; set; } = default!; + + [Column("version"), Required] + public long Version { get; set; } + + public UserAvatarEntity? Avatar { get; set; } + + public UserDetailEntity? Detail { get; set; } + + public List Timelines { get; set; } = default!; + + public List TimelinePosts { get; set; } = default!; + + public List TimelinesJoined { get; set; } = default!; + } +} -- cgit v1.2.3