fix(backend): add missing domain foreign keys
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Socialize.Api.Modules.ContentItems.Data;
|
||||
using Socialize.Api.Modules.Workspaces.Data;
|
||||
|
||||
namespace Socialize.Api.Modules.Approvals.Data;
|
||||
|
||||
@@ -20,6 +22,14 @@ internal static class ApprovalModelConfiguration
|
||||
workflowInstance.HasIndex(x => new { x.ContentItemId, x.State })
|
||||
.IsUnique()
|
||||
.HasFilter("\"State\" = 'Pending'");
|
||||
workflowInstance.HasOne<Workspace>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.WorkspaceId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
workflowInstance.HasOne<ContentItem>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.ContentItemId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ApprovalRequest>(approvalRequest =>
|
||||
@@ -40,6 +50,18 @@ internal static class ApprovalModelConfiguration
|
||||
approvalRequest.HasIndex(x => x.ContentItemId);
|
||||
approvalRequest.HasIndex(x => x.WorkflowInstanceId);
|
||||
approvalRequest.HasIndex(x => x.ReviewerEmail);
|
||||
approvalRequest.HasOne<Workspace>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.WorkspaceId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
approvalRequest.HasOne<ContentItem>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.ContentItemId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
approvalRequest.HasOne<ApprovalWorkflowInstance>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.WorkflowInstanceId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ApprovalDecision>(approvalDecision =>
|
||||
@@ -54,6 +76,10 @@ internal static class ApprovalModelConfiguration
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
approvalDecision.HasIndex(x => x.ApprovalRequestId);
|
||||
approvalDecision.HasOne<ApprovalRequest>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.ApprovalRequestId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<WorkspaceApprovalStepConfiguration>(approvalStep =>
|
||||
@@ -69,6 +95,10 @@ internal static class ApprovalModelConfiguration
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
approvalStep.HasIndex(x => x.WorkspaceId);
|
||||
approvalStep.HasIndex(x => new { x.WorkspaceId, x.SortOrder }).IsUnique();
|
||||
approvalStep.HasOne<Workspace>()
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.WorkspaceId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
return modelBuilder;
|
||||
|
||||
Reference in New Issue
Block a user