diff options
author | crupest <crupest@outlook.com> | 2020-11-12 16:42:46 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-11-12 16:42:46 +0800 |
commit | bc87a406ebb8aa9d595526e4fc3b726f7ef5ad13 (patch) | |
tree | 9abc0921929e5cd109a697bfdec37e486a76150e /BackEnd/Timeline/Entities | |
parent | 5b78017e93450342c85a0e7f5ed16bbb6ae8422e (diff) | |
download | timeline-bc87a406ebb8aa9d595526e4fc3b726f7ef5ad13.tar.gz timeline-bc87a406ebb8aa9d595526e4fc3b726f7ef5ad13.tar.bz2 timeline-bc87a406ebb8aa9d595526e4fc3b726f7ef5ad13.zip |
refactor(database): Add user permission table.
Diffstat (limited to 'BackEnd/Timeline/Entities')
-rw-r--r-- | BackEnd/Timeline/Entities/UserAvatarEntity.cs | 1 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UserEntity.cs | 5 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UserPermissionEntity.cs | 21 |
3 files changed, 25 insertions, 2 deletions
diff --git a/BackEnd/Timeline/Entities/UserAvatarEntity.cs b/BackEnd/Timeline/Entities/UserAvatarEntity.cs index 3c2720f7..96a8e3ff 100644 --- a/BackEnd/Timeline/Entities/UserAvatarEntity.cs +++ b/BackEnd/Timeline/Entities/UserAvatarEntity.cs @@ -4,7 +4,6 @@ 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
{
diff --git a/BackEnd/Timeline/Entities/UserEntity.cs b/BackEnd/Timeline/Entities/UserEntity.cs index 0cfaa335..83fe9aea 100644 --- a/BackEnd/Timeline/Entities/UserEntity.cs +++ b/BackEnd/Timeline/Entities/UserEntity.cs @@ -11,7 +11,6 @@ namespace Timeline.Entities 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
{
@@ -47,10 +46,14 @@ namespace Timeline.Entities public UserAvatarEntity? Avatar { get; set; }
+#pragma warning disable CA2227 // Collection properties should be read only
+ public List<UserPermissionEntity> Permissions { get; set; } = default!;
+
public List<TimelineEntity> Timelines { get; set; } = default!;
public List<TimelinePostEntity> TimelinePosts { get; set; } = default!;
public List<TimelineMemberEntity> TimelinesJoined { get; set; } = default!;
+#pragma warning restore CA2227 // Collection properties should be read only
}
}
diff --git a/BackEnd/Timeline/Entities/UserPermissionEntity.cs b/BackEnd/Timeline/Entities/UserPermissionEntity.cs new file mode 100644 index 00000000..395ad0bd --- /dev/null +++ b/BackEnd/Timeline/Entities/UserPermissionEntity.cs @@ -0,0 +1,21 @@ +using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace Timeline.Entities
+{
+ [Table("user_permission")]
+ public class UserPermissionEntity
+ {
+ [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public long Id { get; set; }
+
+ [Column("user_id")]
+ public long UserId { get; set; }
+
+ [ForeignKey(nameof(UserId))]
+ public UserEntity User { get; set; } = default!;
+
+ [Column("permission")]
+ public string Permission { get; set; } = default!;
+ }
+}
|