refactor: Migrate backend and frontend architecture from a module-based to an app-based structure.

This commit is contained in:
2025-12-05 22:08:52 +01:00
parent ad0ea0c7f8
commit 82d2680f5b
166 changed files with 6171 additions and 1211 deletions

View File

@@ -17,7 +17,7 @@ namespace Zentral.Infrastructure.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "9.0.0");
modelBuilder.Entity("Zentral.Domain.Entities.AppModule", b =>
modelBuilder.Entity("Zentral.Domain.Entities.App", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -82,7 +82,64 @@ namespace Zentral.Infrastructure.Migrations
b.HasIndex("SortOrder");
b.ToTable("AppModules");
b.ToTable("Apps");
});
modelBuilder.Entity("Zentral.Domain.Entities.AppSubscription", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("AppId")
.HasColumnType("INTEGER");
b.Property<bool>("AutoRenew")
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime?>("EndDate")
.HasColumnType("TEXT");
b.Property<bool>("IsEnabled")
.HasColumnType("INTEGER");
b.Property<DateTime?>("LastRenewalDate")
.HasColumnType("TEXT");
b.Property<string>("Notes")
.HasColumnType("TEXT");
b.Property<decimal?>("PaidPrice")
.HasPrecision(18, 2)
.HasColumnType("TEXT");
b.Property<DateTime?>("StartDate")
.HasColumnType("TEXT");
b.Property<int>("SubscriptionType")
.HasColumnType("INTEGER");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("AppId")
.IsUnique();
b.ToTable("AppSubscriptions");
});
modelBuilder.Entity("Zentral.Domain.Entities.Articolo", b =>
@@ -1250,63 +1307,6 @@ namespace Zentral.Infrastructure.Migrations
b.ToTable("Location");
});
modelBuilder.Entity("Zentral.Domain.Entities.ModuleSubscription", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<bool>("AutoRenew")
.HasColumnType("INTEGER");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("CreatedBy")
.HasColumnType("TEXT");
b.Property<string>("CustomFieldsJson")
.HasColumnType("TEXT");
b.Property<DateTime?>("EndDate")
.HasColumnType("TEXT");
b.Property<bool>("IsEnabled")
.HasColumnType("INTEGER");
b.Property<DateTime?>("LastRenewalDate")
.HasColumnType("TEXT");
b.Property<int>("ModuleId")
.HasColumnType("INTEGER");
b.Property<string>("Notes")
.HasColumnType("TEXT");
b.Property<decimal?>("PaidPrice")
.HasPrecision(18, 2)
.HasColumnType("TEXT");
b.Property<DateTime?>("StartDate")
.HasColumnType("TEXT");
b.Property<int>("SubscriptionType")
.HasColumnType("INTEGER");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<string>("UpdatedBy")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ModuleId")
.IsUnique();
b.ToTable("ModuleSubscriptions");
});
modelBuilder.Entity("Zentral.Domain.Entities.Production.BillOfMaterials", b =>
{
b.Property<int>("Id")
@@ -3839,6 +3839,17 @@ namespace Zentral.Infrastructure.Migrations
b.ToTable("WarehouseLocations", (string)null);
});
modelBuilder.Entity("Zentral.Domain.Entities.AppSubscription", b =>
{
b.HasOne("Zentral.Domain.Entities.App", "App")
.WithOne("Subscription")
.HasForeignKey("Zentral.Domain.Entities.AppSubscription", "AppId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("App");
});
modelBuilder.Entity("Zentral.Domain.Entities.Articolo", b =>
{
b.HasOne("Zentral.Domain.Entities.CodiceCategoria", "Categoria")
@@ -4025,17 +4036,6 @@ namespace Zentral.Infrastructure.Migrations
b.Navigation("Dipendente");
});
modelBuilder.Entity("Zentral.Domain.Entities.ModuleSubscription", b =>
{
b.HasOne("Zentral.Domain.Entities.AppModule", "Module")
.WithOne("Subscription")
.HasForeignKey("Zentral.Domain.Entities.ModuleSubscription", "ModuleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Module");
});
modelBuilder.Entity("Zentral.Domain.Entities.Production.BillOfMaterials", b =>
{
b.HasOne("Zentral.Domain.Entities.Warehouse.WarehouseArticle", "Article")
@@ -4519,7 +4519,7 @@ namespace Zentral.Infrastructure.Migrations
b.Navigation("ParentCategory");
});
modelBuilder.Entity("Zentral.Domain.Entities.AppModule", b =>
modelBuilder.Entity("Zentral.Domain.Entities.App", b =>
{
b.Navigation("Subscription");
});