Refactor code structure for improved readability and maintainability

This commit is contained in:
Torsten Brendgen
2026-05-16 16:45:28 +02:00
parent 14f856fdb3
commit 96a3e98109
426 changed files with 29236 additions and 114 deletions

View File

@@ -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 });