aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/Entities')
-rw-r--r--Timeline/Entities/DatabaseContext.cs37
-rw-r--r--Timeline/Entities/User.cs32
-rw-r--r--Timeline/Entities/UserAvatar.cs19
-rw-r--r--Timeline/Entities/UserDetail.cs29
4 files changed, 39 insertions, 78 deletions
diff --git a/Timeline/Entities/DatabaseContext.cs b/Timeline/Entities/DatabaseContext.cs
index d9815660..e1b98e7d 100644
--- a/Timeline/Entities/DatabaseContext.cs
+++ b/Timeline/Entities/DatabaseContext.cs
@@ -1,38 +1,7 @@
using Microsoft.EntityFrameworkCore;
-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";
- }
-
- [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; }
-
- [Column("password"), Required]
- public string EncryptedPassword { get; set; }
-
- [Column("roles"), Required]
- public string RoleString { get; set; }
-
- [Column("version"), Required]
- public long Version { get; set; }
-
- public UserAvatar Avatar { get; set; }
-
- public UserDetailEntity Detail { get; set; }
- }
-
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options)
@@ -41,14 +10,14 @@ namespace Timeline.Entities
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")]
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().Property(e => e.Version).HasDefaultValue(0);
modelBuilder.Entity<User>().HasIndex(e => e.Name).IsUnique();
}
- public DbSet<User> Users { get; set; }
- public DbSet<UserAvatar> UserAvatars { get; set; }
- public DbSet<UserDetailEntity> UserDetails { get; set; }
+ public DbSet<User> Users { get; set; } = default!;
+ public DbSet<UserAvatar> UserAvatars { get; set; } = default!;
}
}
diff --git a/Timeline/Entities/User.cs b/Timeline/Entities/User.cs
new file mode 100644
index 00000000..6e8e4967
--- /dev/null
+++ b/Timeline/Entities/User.cs
@@ -0,0 +1,32 @@
+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";
+ }
+
+ [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; }
+ }
+}
diff --git a/Timeline/Entities/UserAvatar.cs b/Timeline/Entities/UserAvatar.cs
index d549aea5..a5b18b94 100644
--- a/Timeline/Entities/UserAvatar.cs
+++ b/Timeline/Entities/UserAvatar.cs
@@ -11,29 +11,18 @@ namespace Timeline.Entities
public long Id { get; set; }
[Column("data")]
- public byte[] Data { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "This is data base entity.")]
+ public byte[]? Data { get; set; }
[Column("type")]
- public string Type { get; set; }
+ public string? Type { get; set; }
[Column("etag"), MaxLength(30)]
- public string ETag { get; set; }
+ public string? ETag { get; set; }
[Column("last_modified"), Required]
public DateTime LastModified { get; set; }
public long UserId { get; set; }
-
- public static UserAvatar Create(DateTime lastModified)
- {
- return new UserAvatar
- {
- Id = 0,
- Data = null,
- Type = null,
- ETag = null,
- LastModified = lastModified
- };
- }
}
}
diff --git a/Timeline/Entities/UserDetail.cs b/Timeline/Entities/UserDetail.cs
deleted file mode 100644
index bc14dbe6..00000000
--- a/Timeline/Entities/UserDetail.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-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(15)]
- public string Nickname { get; set; }
-
- [Column("qq"), MaxLength(15)]
- public string QQ { get; set; }
-
- [Column("email"), MaxLength(50)]
- public string Email { get; set; }
-
- [Column("phone_number"), MaxLength(15)]
- public string PhoneNumber { get; set; }
-
- [Column("description")]
- public string Description { get; set; }
-
- public long UserId { get; set; }
- }
-}