Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -20,13 +20,19 @@ namespace Microsoft.SelfService.Portal.Core.API.Context
|
||||
public DbSet<DeploymentModel> Deployments { get; set; }
|
||||
public DbSet<DeploymentGroupModel> DeploymentGroups { get; set; }
|
||||
public DbSet<TemplateModel> Templates { get; set; }
|
||||
public DbSet<DeploymentRuleModel> DeploymentRules { get; set; }
|
||||
public DbSet<DeploymentRuleStepModel> DeploymentRuleSteps { get; set; }
|
||||
public DbSet<TemplateCategoryModel> TemplateCategories { get; set; }
|
||||
public DbSet<ServiceModel> Services { get; set; }
|
||||
public DbSet<ServiceRoleDefinitionModel> ServiceRoleDefinitions { get; set; }
|
||||
public DbSet<TemplateOptionModel> TemplateOptions { get; set; }
|
||||
public DbSet<OptionModel> Options { get; set; }
|
||||
public DbSet<OptionCategoryModel> OptionCategories { get; set; }
|
||||
public DbSet<JobModel> Jobs { get; set; }
|
||||
public DbSet<RunbookModel> Runbooks { get; set; }
|
||||
public DbSet<QueueJobModel> QueueJobs { get; set; }
|
||||
public DbSet<QueueJobTargetModel> QueueJobTargets { get; set; }
|
||||
public DbSet<QueueJobStepModel> QueueJobSteps { get; set; }
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
@@ -63,6 +69,41 @@ namespace Microsoft.SelfService.Portal.Core.API.Context
|
||||
.WithMany(s => s.TemplateCategories)
|
||||
.HasForeignKey(tc => tc.ServiceId);
|
||||
|
||||
modelBuilder.Entity<ServiceRoleDefinitionModel>()
|
||||
.HasOne(role => role.Service)
|
||||
.WithMany(service => service.RoleDefinitions)
|
||||
.HasForeignKey(role => role.ServiceId);
|
||||
|
||||
modelBuilder.Entity<DeploymentGroupModel>()
|
||||
.ToTable("DeploymentBatches");
|
||||
|
||||
modelBuilder.Entity<DeploymentModel>()
|
||||
.ToTable("DeploymentExecutions");
|
||||
modelBuilder.Entity<DeploymentModel>()
|
||||
.Property(deployment => deployment.DeploymentGroupId)
|
||||
.HasColumnName("DeploymentBatchId");
|
||||
|
||||
modelBuilder.Entity<QueueJobModel>()
|
||||
.ToTable("DeploymentJobs");
|
||||
|
||||
modelBuilder.Entity<QueueJobTargetModel>()
|
||||
.ToTable("DeploymentJobTargets");
|
||||
modelBuilder.Entity<QueueJobTargetModel>()
|
||||
.Property(target => target.QueueJobId)
|
||||
.HasColumnName("DeploymentJobId");
|
||||
modelBuilder.Entity<QueueJobTargetModel>()
|
||||
.Property(target => target.DeploymentGroupId)
|
||||
.HasColumnName("DeploymentBatchId");
|
||||
|
||||
modelBuilder.Entity<QueueJobStepModel>()
|
||||
.ToTable("DeploymentJobSteps");
|
||||
modelBuilder.Entity<QueueJobStepModel>()
|
||||
.Property(step => step.QueueJobId)
|
||||
.HasColumnName("DeploymentJobId");
|
||||
modelBuilder.Entity<QueueJobStepModel>()
|
||||
.Property(step => step.DependsOnQueueJobStepId)
|
||||
.HasColumnName("DependsOnDeploymentJobStepId");
|
||||
|
||||
modelBuilder.Entity<DeploymentModel>()
|
||||
.HasKey(d => new { d.VirtualMachineId, d.DeploymentGroupId });
|
||||
|
||||
@@ -80,6 +121,32 @@ namespace Microsoft.SelfService.Portal.Core.API.Context
|
||||
.HasOne(dg => dg.Template)
|
||||
.WithMany(t => t.DeploymentGroups)
|
||||
.HasForeignKey(dg => dg.TemplateId);
|
||||
|
||||
modelBuilder.Entity<TemplateModel>()
|
||||
.HasOne(template => template.DeploymentRule)
|
||||
.WithMany()
|
||||
.HasForeignKey(template => template.DeploymentRuleId);
|
||||
|
||||
modelBuilder.Entity<DeploymentRuleStepModel>()
|
||||
.HasOne(step => step.DeploymentRule)
|
||||
.WithMany(rule => rule.Steps)
|
||||
.HasForeignKey(step => step.DeploymentRuleId);
|
||||
|
||||
modelBuilder.Entity<QueueJobTargetModel>()
|
||||
.HasOne(target => target.QueueJob)
|
||||
.WithMany(job => job.Targets)
|
||||
.HasForeignKey(target => target.QueueJobId);
|
||||
|
||||
modelBuilder.Entity<QueueJobStepModel>()
|
||||
.HasOne(step => step.QueueJob)
|
||||
.WithMany(job => job.Steps)
|
||||
.HasForeignKey(step => step.QueueJobId);
|
||||
|
||||
modelBuilder.Entity<QueueJobStepModel>()
|
||||
.HasOne(step => step.DependsOnQueueJobStep)
|
||||
.WithMany()
|
||||
.HasForeignKey(step => step.DependsOnQueueJobStepId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
modelBuilder.Entity<JobModel>()
|
||||
.HasKey(j => new { j.RunbookId, j.DeploymentId });
|
||||
|
||||
Reference in New Issue
Block a user