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

@@ -17,7 +17,7 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.9")
.HasAnnotation("ProductVersion", "10.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -67,7 +67,7 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.HasIndex("TemplateId");
b.ToTable("DeploymentGroups");
b.ToTable("DeploymentBatches", (string)null);
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentModel", b =>
@@ -78,6 +78,7 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.Property<Guid>("DeploymentGroupId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeploymentBatchId")
.HasColumnOrder(2);
b.Property<DateTime>("Created")
@@ -122,7 +123,118 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.HasIndex("DeploymentGroupId");
b.ToTable("Deployments");
b.ToTable("DeploymentExecutions", (string)null);
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<string>("Description")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<bool>("IsActive")
.HasColumnType("bit")
.HasColumnOrder(3);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(1);
b.HasKey("Id");
b.ToTable("DeploymentRules");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleStepModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<Guid>("DeploymentRuleId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(1);
b.Property<string>("MetadataJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(6);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<bool>("RequiresApproval")
.HasColumnType("bit")
.HasColumnOrder(5);
b.Property<int>("SortOrder")
.HasColumnType("int")
.HasColumnOrder(2);
b.Property<string>("StepType")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.HasKey("Id");
b.HasIndex("DeploymentRuleId");
b.ToTable("DeploymentRuleSteps");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", b =>
@@ -218,10 +330,6 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<bool>("CloudEnabled")
.HasColumnType("bit")
.HasColumnOrder(2);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -233,6 +341,15 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<string>("EnvironmentType")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<string>("MetadataJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(6);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -249,6 +366,18 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(1);
b.Property<string>("ProviderType")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<string>("SubscriptionId")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(5);
b.Property<string>("TenantId")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.HasKey("Id");
b.ToTable("Environments");
@@ -464,6 +593,244 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.ToTable("Options");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<int>("Attempts")
.HasColumnType("int")
.HasColumnOrder(4);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<string>("ErrorMessage")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(10);
b.Property<DateTime?>("Finished")
.HasColumnType("datetime2")
.HasColumnOrder(7);
b.Property<string>("LockedBy")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(9);
b.Property<DateTime?>("LockedUntil")
.HasColumnType("datetime2")
.HasColumnOrder(8);
b.Property<int>("MaxAttempts")
.HasColumnType("int")
.HasColumnOrder(5);
b.Property<string>("MetadataJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(11);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<string>("PayloadJson")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<string>("RuleSnapshotJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(12);
b.Property<DateTime?>("Started")
.HasColumnType("datetime2")
.HasColumnOrder(6);
b.Property<string>("Status")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<string>("Type")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(1);
b.HasKey("Id");
b.ToTable("DeploymentJobs", (string)null);
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<string>("ApprovalComment")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(10);
b.Property<DateTime?>("ApprovedAt")
.HasColumnType("datetime2")
.HasColumnOrder(8);
b.Property<string>("ApprovedBy")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(9);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<Guid?>("DependsOnQueueJobStepId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DependsOnDeploymentJobStepId")
.HasColumnOrder(2);
b.Property<string>("MetadataJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(7);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.Property<Guid>("QueueJobId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeploymentJobId")
.HasColumnOrder(1);
b.Property<int>("SortOrder")
.HasColumnType("int")
.HasColumnOrder(3);
b.Property<string>("Status")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(6);
b.Property<string>("StepType")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(5);
b.HasKey("Id");
b.HasIndex("DependsOnQueueJobStepId");
b.HasIndex("QueueJobId");
b.ToTable("DeploymentJobSteps", (string)null);
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobTargetModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<int>("Attempts")
.HasColumnType("int")
.HasColumnOrder(6);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<Guid>("DeploymentGroupId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeploymentBatchId")
.HasColumnOrder(3);
b.Property<string>("ErrorMessage")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(7);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<Guid>("QueueJobId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeploymentJobId")
.HasColumnOrder(1);
b.Property<string>("Status")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(5);
b.Property<Guid>("TemplateId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(4);
b.Property<Guid>("VirtualMachineId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(2);
b.HasKey("Id");
b.HasIndex("QueueJobId");
b.ToTable("DeploymentJobTargets", (string)null);
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.RunbookModel", b =>
{
b.Property<Guid>("Id")
@@ -533,6 +900,14 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<string>("IconKey")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.Property<bool>("IsCloudService")
.HasColumnType("bit")
.HasColumnOrder(3);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -554,7 +929,7 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.ToTable("Services");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b =>
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceRoleDefinitionModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
@@ -573,6 +948,73 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<string>("Description")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.Property<string>("Key")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(50)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(51);
b.Property<string>("Name")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<Guid>("ServiceId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(1);
b.HasKey("Id");
b.HasIndex("ServiceId");
b.ToTable("ServiceRoleDefinitions");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier")
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<string>("Color")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(5);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
.HasColumnOrder(52)
.HasDefaultValueSql("GETDATE()");
b.Property<string>("CreatedBy")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<string>("Description")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<bool>("IsActive")
.HasColumnType("bit")
.HasColumnOrder(4);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -589,19 +1031,10 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(2);
b.Property<string>("ParentCategoryName")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<Guid>("ServiceId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(1);
b.Property<int>("showOrder")
.HasColumnType("int")
.HasColumnOrder(4);
b.HasKey("Id");
b.HasIndex("ServiceId");
@@ -617,10 +1050,6 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnOrder(0)
.HasDefaultValueSql("NEWID()");
b.Property<bool>("CloudTemplate")
.HasColumnType("bit")
.HasColumnOrder(2);
b.Property<DateTime>("Created")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -632,15 +1061,19 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<Guid?>("DeploymentRuleId")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(6);
b.Property<string>("Description")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
.HasColumnOrder(3);
b.Property<string>("JSONData")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(5);
.HasColumnOrder(4);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
@@ -659,15 +1092,18 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnOrder(1);
b.Property<Guid>("TemplateCategoryId")
.HasColumnType("uniqueidentifier");
.HasColumnType("uniqueidentifier")
.HasColumnOrder(5);
b.Property<string>("Version")
.IsRequired()
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
.HasColumnOrder(2);
b.HasKey("Id");
b.HasIndex("DeploymentRuleId");
b.HasIndex("TemplateCategoryId");
b.ToTable("Templates");
@@ -732,10 +1168,18 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
.HasColumnType("nvarchar(max)")
.HasColumnOrder(53);
b.Property<Guid>("DomainID")
b.Property<Guid?>("DomainID")
.HasColumnType("uniqueidentifier")
.HasColumnOrder(1);
b.Property<string>("ExternalId")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(3);
b.Property<string>("MetadataJson")
.HasColumnType("nvarchar(max)")
.HasColumnOrder(4);
b.Property<DateTime>("Modified")
.ValueGeneratedOnAdd()
.HasColumnType("datetime2")
@@ -789,6 +1233,17 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.Navigation("VirtualMachine");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleStepModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", "DeploymentRule")
.WithMany("Steps")
.HasForeignKey("DeploymentRuleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DeploymentRule");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentDomainsModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", "Domain")
@@ -850,6 +1305,46 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.Navigation("OptionCategory");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", "DependsOnQueueJobStep")
.WithMany()
.HasForeignKey("DependsOnQueueJobStepId")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", "QueueJob")
.WithMany("Steps")
.HasForeignKey("QueueJobId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DependsOnQueueJobStep");
b.Navigation("QueueJob");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobTargetModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", "QueueJob")
.WithMany("Targets")
.HasForeignKey("QueueJobId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("QueueJob");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceRoleDefinitionModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", "Service")
.WithMany("RoleDefinitions")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Service");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", "Service")
@@ -863,12 +1358,18 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", b =>
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", "DeploymentRule")
.WithMany()
.HasForeignKey("DeploymentRuleId");
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", "TemplateCategory")
.WithMany("Templates")
.HasForeignKey("TemplateCategoryId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DeploymentRule");
b.Navigation("TemplateCategory");
});
@@ -895,9 +1396,7 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
{
b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", "Domain")
.WithMany("VirtualMachines")
.HasForeignKey("DomainID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
.HasForeignKey("DomainID");
b.Navigation("Domain");
});
@@ -912,6 +1411,11 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.Navigation("Jobs");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", b =>
{
b.Navigation("Steps");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", b =>
{
b.Navigation("EnvironmentDomains");
@@ -934,6 +1438,13 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
b.Navigation("TemplateOptions");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", b =>
{
b.Navigation("Steps");
b.Navigation("Targets");
});
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.RunbookModel", b =>
{
b.Navigation("Events");
@@ -943,6 +1454,8 @@ namespace Microsoft.SelfService.Portal.Core.API.Migrations
modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", b =>
{
b.Navigation("RoleDefinitions");
b.Navigation("TemplateCategories");
});