aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-03-06 19:42:07 +0800
committerGitHub <noreply@github.com>2020-03-06 19:42:07 +0800
commiteb9554b4fe78eaced12329e7fd7d8d62a58a1c6c (patch)
tree8940de95d235020bbfc1b204cc572eeb47158d40 /Timeline/Entities
parent3f5b4840ff863bed5fd11beb775d02447f022030 (diff)
parentcc57bddf48fee422850c8b458ac9a22ba0bfaa64 (diff)
downloadtimeline-eb9554b4fe78eaced12329e7fd7d8d62a58a1c6c.tar.gz
timeline-eb9554b4fe78eaced12329e7fd7d8d62a58a1c6c.tar.bz2
timeline-eb9554b4fe78eaced12329e7fd7d8d62a58a1c6c.zip
Merge pull request #68 from crupest/file
Unify data store.
Diffstat (limited to 'Timeline/Entities')
-rw-r--r--Timeline/Entities/DataEntity.cs23
-rw-r--r--Timeline/Entities/DatabaseContext.cs2
-rw-r--r--Timeline/Entities/UserAvatarEntity.cs7
3 files changed, 27 insertions, 5 deletions
diff --git a/Timeline/Entities/DataEntity.cs b/Timeline/Entities/DataEntity.cs
new file mode 100644
index 00000000..b21e2dbf
--- /dev/null
+++ b/Timeline/Entities/DataEntity.cs
@@ -0,0 +1,23 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace Timeline.Entities
+{
+ [Table("data")]
+ public class DataEntity
+ {
+ [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public long Id { get; set; }
+
+ [Column("tag"), Required]
+ public string Tag { get; set; } = default!;
+
+ [Column("data"), Required]
+#pragma warning disable CA1819 // Properties should not return arrays
+ public byte[] Data { get; set; } = default!;
+#pragma warning restore CA1819 // Properties should not return arrays
+
+ [Column("ref"), Required]
+ public int Ref { get; set; }
+ }
+}
diff --git a/Timeline/Entities/DatabaseContext.cs b/Timeline/Entities/DatabaseContext.cs
index 039cbd51..8899308c 100644
--- a/Timeline/Entities/DatabaseContext.cs
+++ b/Timeline/Entities/DatabaseContext.cs
@@ -13,6 +13,7 @@ namespace Timeline.Entities
{
modelBuilder.Entity<UserEntity>().Property(e => e.Version).HasDefaultValue(0);
modelBuilder.Entity<UserEntity>().HasIndex(e => e.Username).IsUnique();
+ modelBuilder.Entity<DataEntity>().HasIndex(e => e.Tag).IsUnique();
}
public DbSet<UserEntity> Users { get; set; } = default!;
@@ -21,5 +22,6 @@ namespace Timeline.Entities
public DbSet<TimelinePostEntity> TimelinePosts { get; set; } = default!;
public DbSet<TimelineMemberEntity> TimelineMembers { get; set; } = default!;
public DbSet<JwtTokenEntity> JwtToken { get; set; } = default!;
+ public DbSet<DataEntity> Data { get; set; } = default!;
}
}
diff --git a/Timeline/Entities/UserAvatarEntity.cs b/Timeline/Entities/UserAvatarEntity.cs
index be094a77..3c2720f7 100644
--- a/Timeline/Entities/UserAvatarEntity.cs
+++ b/Timeline/Entities/UserAvatarEntity.cs
@@ -11,15 +11,12 @@ namespace Timeline.Entities
[Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
- [Column("data")]
- public byte[]? Data { get; set; }
+ [Column("data_tag")]
+ public string? DataTag { get; set; }
[Column("type")]
public string? Type { get; set; }
- [Column("etag")]
- public string? ETag { get; set; }
-
[Column("last_modified"), Required]
public DateTime LastModified { get; set; }