diff options
author | crupest <crupest@outlook.com> | 2022-03-09 21:21:15 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-03-09 21:21:15 +0800 |
commit | 3d6c9fd916e18c99b3a5497b8313672680571b5e (patch) | |
tree | e67ae49937dcdb7f5c874a2ebfdca4fde72a059f /BackEnd/Timeline/Entities | |
parent | 3cd0140ff4425b37b6e8dd8e8f16a54b1338c352 (diff) | |
download | timeline-3d6c9fd916e18c99b3a5497b8313672680571b5e.tar.gz timeline-3d6c9fd916e18c99b3a5497b8313672680571b5e.tar.bz2 timeline-3d6c9fd916e18c99b3a5497b8313672680571b5e.zip |
Add user token entity in preparation for refactor of tokens.
Diffstat (limited to 'BackEnd/Timeline/Entities')
-rw-r--r-- | BackEnd/Timeline/Entities/DatabaseContext.cs | 2 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UserTokenEntity.cs | 28 |
2 files changed, 30 insertions, 0 deletions
diff --git a/BackEnd/Timeline/Entities/DatabaseContext.cs b/BackEnd/Timeline/Entities/DatabaseContext.cs index 8ccdabb5..bb078b77 100644 --- a/BackEnd/Timeline/Entities/DatabaseContext.cs +++ b/BackEnd/Timeline/Entities/DatabaseContext.cs @@ -19,6 +19,7 @@ namespace Timeline.Entities modelBuilder.Entity<UserEntity>().Property(e => e.LastModified).HasDefaultValueSql("datetime('now', 'utc')");
modelBuilder.Entity<DataEntity>().HasIndex(e => e.Tag).IsUnique();
modelBuilder.Entity<TimelineEntity>().Property(e => e.UniqueId).HasDefaultValueSql("lower(hex(randomblob(16)))");
+ modelBuilder.Entity<UserTokenEntity>().HasIndex(e => e.Token).IsUnique();
modelBuilder.ApplyUtcDateTimeConverter();
}
@@ -34,6 +35,7 @@ namespace Timeline.Entities public DbSet<BookmarkTimelineEntity> BookmarkTimelines { get; set; } = default!;
public DbSet<JwtTokenEntity> JwtToken { get; set; } = default!;
+ public DbSet<UserTokenEntity> UserTokens { get; set; } = default!;
public DbSet<DataEntity> Data { get; set; } = default!;
public DbSet<MigrationEntity> Migrations { get; set; } = default!;
diff --git a/BackEnd/Timeline/Entities/UserTokenEntity.cs b/BackEnd/Timeline/Entities/UserTokenEntity.cs new file mode 100644 index 00000000..0d8bce7d --- /dev/null +++ b/BackEnd/Timeline/Entities/UserTokenEntity.cs @@ -0,0 +1,28 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Timeline.Entities +{ + [Table("user_token")] + public class UserTokenEntity + { + [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("token")] + public string Token { get; set; } = default!; + + [Column("expire_at")] + public DateTime? ExpireAt { get; set; } + + [Column("create_at")] + public DateTime? CreateAt { get; set; } + } +} |