feat(processing): persist safe atomic operation history
This commit is contained in:
@@ -66,6 +66,7 @@ namespace JobTrackerApi.Data
|
||||
public DbSet<SubmittedPackageAttachment> SubmittedPackageAttachments => Set<SubmittedPackageAttachment>();
|
||||
public DbSet<InterviewPrepItem> InterviewPrepItems => Set<InterviewPrepItem>();
|
||||
public DbSet<UserOperation> UserOperations => Set<UserOperation>();
|
||||
public DbSet<UserOperationEvent> UserOperationEvents => Set<UserOperationEvent>();
|
||||
public DbSet<UserNotification> UserNotifications => Set<UserNotification>();
|
||||
public DbSet<EmailSendAttempt> EmailSendAttempts => Set<EmailSendAttempt>();
|
||||
public DbSet<EmailDraft> EmailDrafts => Set<EmailDraft>();
|
||||
@@ -321,6 +322,16 @@ namespace JobTrackerApi.Data
|
||||
modelBuilder.Entity<UserOperation>()
|
||||
.HasIndex(x => new { x.Status, x.AvailableAtUtc, x.Priority });
|
||||
|
||||
modelBuilder.Entity<UserOperationEvent>().HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
modelBuilder.Entity<UserOperationEvent>().Property(x => x.OwnerUserId).HasMaxLength(255);
|
||||
modelBuilder.Entity<UserOperationEvent>().Property(x => x.Kind).HasMaxLength(40);
|
||||
modelBuilder.Entity<UserOperationEvent>().Property(x => x.Status).HasMaxLength(32);
|
||||
modelBuilder.Entity<UserOperationEvent>().Property(x => x.Stage).HasMaxLength(64);
|
||||
modelBuilder.Entity<UserOperationEvent>().Property(x => x.FailureCode).HasMaxLength(64);
|
||||
modelBuilder.Entity<UserOperationEvent>().HasIndex(x => new { x.OperationId, x.Id });
|
||||
modelBuilder.Entity<UserOperationEvent>().HasIndex(x => x.AtUtc);
|
||||
modelBuilder.Entity<UserOperationEvent>().HasOne<UserOperation>().WithMany().HasForeignKey(x => x.OperationId).OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
modelBuilder.Entity<UserNotification>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
modelBuilder.Entity<UserNotification>().Property(x => x.OwnerUserId).HasMaxLength(255);
|
||||
|
||||
Reference in New Issue
Block a user