// using System; using Extrudex.Infrastructure.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Extrudex.Infrastructure.Data.Migrations { [DbContext(typeof(ExtrudexDbContext))] partial class ExtrudexDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Extrudex.Domain.Entities.AmsSlot", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("AmsUnitId") .HasColumnType("uuid") .HasColumnName("ams_unit_id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("RemainingWeightG") .HasPrecision(10, 2) .HasColumnType("numeric(10,2)") .HasColumnName("remaining_weight_g"); b.Property("SpoolId") .HasColumnType("uuid") .HasColumnName("spool_id"); b.Property("TrayIndex") .HasColumnType("integer") .HasColumnName("tray_index"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("SpoolId") .HasDatabaseName("ix_ams_slots_spool_id"); b.HasIndex("AmsUnitId", "TrayIndex") .IsUnique() .HasDatabaseName("ix_ams_slots_ams_unit_id_tray_index"); b.ToTable("ams_slots", (string)null); }); modelBuilder.Entity("Extrudex.Domain.Entities.AmsUnit", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("PrinterId") .HasColumnType("uuid") .HasColumnName("printer_id"); b.Property("UnitIndex") .HasColumnType("integer") .HasColumnName("unit_index"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("PrinterId", "UnitIndex") .IsUnique() .HasDatabaseName("ix_ams_units_printer_id_unit_index"); b.ToTable("ams_units", (string)null); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialBase", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("DensityGperCm3") .HasPrecision(10, 4) .HasColumnType("numeric(10,4)") .HasColumnName("density_g_per_cm3"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("name"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("Name") .IsUnique() .HasDatabaseName("ix_material_bases_name"); b.ToTable("material_bases", (string)null); b.HasData( new { Id = new Guid("10000000-0000-0000-0000-000000000001"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1096), DensityGperCm3 = 1.24m, Name = "PLA", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1096) }, new { Id = new Guid("10000000-0000-0000-0000-000000000002"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1620), DensityGperCm3 = 1.27m, Name = "PETG", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1620) }, new { Id = new Guid("10000000-0000-0000-0000-000000000003"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1630), DensityGperCm3 = 1.04m, Name = "ABS", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1630) }, new { Id = new Guid("10000000-0000-0000-0000-000000000004"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1638), DensityGperCm3 = 1.07m, Name = "ASA", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1638) }, new { Id = new Guid("10000000-0000-0000-0000-000000000005"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1645), DensityGperCm3 = 1.21m, Name = "TPU", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1645) }, new { Id = new Guid("10000000-0000-0000-0000-000000000006"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1651), DensityGperCm3 = 1.14m, Name = "Nylon", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1652) }); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialFinish", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("MaterialBaseId") .HasColumnType("uuid") .HasColumnName("material_base_id"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("name"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("MaterialBaseId", "Name") .IsUnique() .HasDatabaseName("ix_material_finishes_material_base_id_name"); b.ToTable("material_finishes", (string)null); b.HasData( new { Id = new Guid("20000000-0000-0000-0000-000000000001"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1850), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(1850) }, new { Id = new Guid("20000000-0000-0000-0000-000000000002"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2041), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Matte", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2041) }, new { Id = new Guid("20000000-0000-0000-0000-000000000003"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2049), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Silk", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2049) }, new { Id = new Guid("20000000-0000-0000-0000-000000000004"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2055), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Glitter", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2056) }, new { Id = new Guid("20000000-0000-0000-0000-000000000005"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2062), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Marble", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2062) }, new { Id = new Guid("20000000-0000-0000-0000-000000000006"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2068), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Sparkle", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2068) }, new { Id = new Guid("20000000-0000-0000-0000-000000000007"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2075), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000002"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2075) }, new { Id = new Guid("20000000-0000-0000-0000-000000000008"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2081), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000002"), Name = "Matte", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2081) }, new { Id = new Guid("20000000-0000-0000-0000-000000000009"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2100), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000002"), Name = "Silk", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2100) }, new { Id = new Guid("20000000-0000-0000-0000-000000000010"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2107), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000003"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2107) }, new { Id = new Guid("20000000-0000-0000-0000-000000000011"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2113), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000003"), Name = "Matte", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2113) }, new { Id = new Guid("20000000-0000-0000-0000-000000000012"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2120), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000004"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2120) }, new { Id = new Guid("20000000-0000-0000-0000-000000000013"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2126), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000004"), Name = "Matte", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2126) }, new { Id = new Guid("20000000-0000-0000-0000-000000000014"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2132), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000005"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2133) }, new { Id = new Guid("20000000-0000-0000-0000-000000000015"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2139), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000006"), Name = "Basic", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2139) }); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialModifier", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("MaterialBaseId") .HasColumnType("uuid") .HasColumnName("material_base_id"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("name"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("MaterialBaseId", "Name") .IsUnique() .HasDatabaseName("ix_material_modifiers_material_base_id_name"); b.ToTable("material_modifiers", (string)null); b.HasData( new { Id = new Guid("30000000-0000-0000-0000-000000000001"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2304), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Carbon Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2304) }, new { Id = new Guid("30000000-0000-0000-0000-000000000002"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2463), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Glass Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2463) }, new { Id = new Guid("30000000-0000-0000-0000-000000000003"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2471), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Wood Fill", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2471) }, new { Id = new Guid("30000000-0000-0000-0000-000000000004"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2477), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000001"), Name = "Glow-in-the-Dark", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2478) }, new { Id = new Guid("30000000-0000-0000-0000-000000000005"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2484), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000002"), Name = "Carbon Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2484) }, new { Id = new Guid("30000000-0000-0000-0000-000000000006"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2490), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000002"), Name = "Glass Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2491) }, new { Id = new Guid("30000000-0000-0000-0000-000000000007"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2497), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000003"), Name = "Carbon Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2497) }, new { Id = new Guid("30000000-0000-0000-0000-000000000008"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2503), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000003"), Name = "Glass Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2503) }, new { Id = new Guid("30000000-0000-0000-0000-000000000009"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2510), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000004"), Name = "Carbon Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2510) }, new { Id = new Guid("30000000-0000-0000-0000-000000000010"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2516), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000006"), Name = "Carbon Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2516) }, new { Id = new Guid("30000000-0000-0000-0000-000000000011"), CreatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2522), MaterialBaseId = new Guid("10000000-0000-0000-0000-000000000006"), Name = "Glass Fiber", UpdatedAt = new DateTime(2026, 4, 26, 13, 14, 18, 745, DateTimeKind.Utc).AddTicks(2523) }); }); modelBuilder.Entity("Extrudex.Domain.Entities.PrintJob", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("CompletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("completed_at"); b.Property("CostPerPrint") .HasPrecision(10, 4) .HasColumnType("numeric(10,4)") .HasColumnName("cost_per_print"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("DataSource") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("data_source"); b.Property("FilamentDiameterAtPrintMm") .HasPrecision(6, 3) .HasColumnType("numeric(6,3)") .HasColumnName("filament_diameter_at_print_mm"); b.Property("GcodeFilePath") .HasMaxLength(1000) .HasColumnType("character varying(1000)") .HasColumnName("gcode_file_path"); b.Property("GramsDerived") .HasPrecision(10, 2) .HasColumnType("numeric(10,2)") .HasColumnName("grams_derived"); b.Property("MaterialDensityAtPrint") .HasPrecision(10, 4) .HasColumnType("numeric(10,4)") .HasColumnName("material_density_at_print"); b.Property("MmExtruded") .HasPrecision(12, 2) .HasColumnType("numeric(12,2)") .HasColumnName("mm_extruded"); b.Property("Notes") .HasMaxLength(2000) .HasColumnType("character varying(2000)") .HasColumnName("notes"); b.Property("PrintName") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)") .HasColumnName("print_name"); b.Property("PrinterId") .HasColumnType("uuid") .HasColumnName("printer_id"); b.Property("SpoolId") .HasColumnType("uuid") .HasColumnName("spool_id"); b.Property("StartedAt") .HasColumnType("timestamp with time zone") .HasColumnName("started_at"); b.Property("Status") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasDefaultValue("Queued") .HasColumnName("status"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("DataSource") .HasDatabaseName("ix_print_jobs_data_source"); b.HasIndex("PrinterId") .HasDatabaseName("ix_print_jobs_printer_id"); b.HasIndex("SpoolId") .HasDatabaseName("ix_print_jobs_spool_id"); b.HasIndex("Status") .HasDatabaseName("ix_print_jobs_status"); b.ToTable("print_jobs", (string)null); }); modelBuilder.Entity("Extrudex.Domain.Entities.Printer", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("ApiKey") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)") .HasColumnName("api_key"); b.Property("ConnectionType") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("connection_type"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("HostnameOrIp") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)") .HasColumnName("hostname_or_ip"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("LastSeenAt") .HasColumnType("timestamp with time zone") .HasColumnName("last_seen_at"); b.Property("Manufacturer") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("manufacturer"); b.Property("Model") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("model"); b.Property("MqttPassword") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)") .HasColumnName("mqtt_password"); b.Property("MqttUseTls") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false) .HasColumnName("mqtt_use_tls"); b.Property("MqttUsername") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("mqtt_username"); b.Property("Name") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("name"); b.Property("Port") .HasColumnType("integer") .HasColumnName("port"); b.Property("PrinterType") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("printer_type"); b.Property("Status") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasDefaultValue("Offline") .HasColumnName("status"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.HasKey("Id"); b.HasIndex("ConnectionType") .HasDatabaseName("ix_printers_connection_type"); b.HasIndex("IsActive") .HasDatabaseName("ix_printers_is_active"); b.HasIndex("PrinterType") .HasDatabaseName("ix_printers_printer_type"); b.HasIndex("Status") .HasDatabaseName("ix_printers_status"); b.ToTable("printers", (string)null); }); modelBuilder.Entity("Extrudex.Domain.Entities.Spool", b => { b.Property("Id") .HasColumnType("uuid") .HasColumnName("id"); b.Property("Brand") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("brand"); b.Property("ColorHex") .IsRequired() .HasMaxLength(7) .HasColumnType("character varying(7)") .HasColumnName("color_hex"); b.Property("ColorName") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("color_name"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("created_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("FilamentDiameterMm") .HasPrecision(6, 3) .HasColumnType("numeric(6,3)") .HasColumnName("filament_diameter_mm"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true) .HasColumnName("is_active"); b.Property("MaterialBaseId") .HasColumnType("uuid") .HasColumnName("material_base_id"); b.Property("MaterialFinishId") .HasColumnType("uuid") .HasColumnName("material_finish_id"); b.Property("MaterialModifierId") .HasColumnType("uuid") .HasColumnName("material_modifier_id"); b.Property("PurchaseDate") .HasColumnType("timestamp with time zone") .HasColumnName("purchase_date"); b.Property("PurchasePrice") .HasPrecision(10, 2) .HasColumnType("numeric(10,2)") .HasColumnName("purchase_price"); b.Property("SpoolSerial") .IsRequired() .HasMaxLength(200) .HasColumnType("character varying(200)") .HasColumnName("spool_serial"); b.Property("UpdatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasColumnName("updated_at") .HasDefaultValueSql("now() at time zone 'utc'"); b.Property("WeightRemainingGrams") .HasPrecision(10, 2) .HasColumnType("numeric(10,2)") .HasColumnName("weight_remaining_grams"); b.Property("WeightTotalGrams") .HasPrecision(10, 2) .HasColumnType("numeric(10,2)") .HasColumnName("weight_total_grams"); b.HasKey("Id"); b.HasIndex("IsActive") .HasDatabaseName("ix_spools_is_active"); b.HasIndex("MaterialBaseId") .HasDatabaseName("ix_spools_material_base_id"); b.HasIndex("MaterialFinishId") .HasDatabaseName("ix_spools_material_finish_id"); b.HasIndex("MaterialModifierId") .HasDatabaseName("ix_spools_material_modifier_id"); b.HasIndex("SpoolSerial") .IsUnique() .HasDatabaseName("ix_spools_spool_serial"); b.ToTable("spools", (string)null); }); modelBuilder.Entity("Extrudex.Domain.Entities.AmsSlot", b => { b.HasOne("Extrudex.Domain.Entities.AmsUnit", "AmsUnit") .WithMany("Slots") .HasForeignKey("AmsUnitId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ams_slots_ams_unit"); b.HasOne("Extrudex.Domain.Entities.Spool", "Spool") .WithMany("AmsSlots") .HasForeignKey("SpoolId") .OnDelete(DeleteBehavior.SetNull) .HasConstraintName("fk_ams_slots_spool"); b.Navigation("AmsUnit"); b.Navigation("Spool"); }); modelBuilder.Entity("Extrudex.Domain.Entities.AmsUnit", b => { b.HasOne("Extrudex.Domain.Entities.Printer", "Printer") .WithMany("AmsUnits") .HasForeignKey("PrinterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_ams_units_printer"); b.Navigation("Printer"); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialFinish", b => { b.HasOne("Extrudex.Domain.Entities.MaterialBase", "MaterialBase") .WithMany("Finishes") .HasForeignKey("MaterialBaseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_material_finishes_material_base"); b.Navigation("MaterialBase"); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialModifier", b => { b.HasOne("Extrudex.Domain.Entities.MaterialBase", "MaterialBase") .WithMany("Modifiers") .HasForeignKey("MaterialBaseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_material_modifiers_material_base"); b.Navigation("MaterialBase"); }); modelBuilder.Entity("Extrudex.Domain.Entities.PrintJob", b => { b.HasOne("Extrudex.Domain.Entities.Printer", "Printer") .WithMany("PrintJobs") .HasForeignKey("PrinterId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_print_jobs_printer"); b.HasOne("Extrudex.Domain.Entities.Spool", "Spool") .WithMany("PrintJobs") .HasForeignKey("SpoolId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_print_jobs_spool"); b.Navigation("Printer"); b.Navigation("Spool"); }); modelBuilder.Entity("Extrudex.Domain.Entities.Spool", b => { b.HasOne("Extrudex.Domain.Entities.MaterialBase", "MaterialBase") .WithMany("Spools") .HasForeignKey("MaterialBaseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_spools_material_base"); b.HasOne("Extrudex.Domain.Entities.MaterialFinish", "MaterialFinish") .WithMany("Spools") .HasForeignKey("MaterialFinishId") .OnDelete(DeleteBehavior.Restrict) .IsRequired() .HasConstraintName("fk_spools_material_finish"); b.HasOne("Extrudex.Domain.Entities.MaterialModifier", "MaterialModifier") .WithMany("Spools") .HasForeignKey("MaterialModifierId") .OnDelete(DeleteBehavior.SetNull) .HasConstraintName("fk_spools_material_modifier"); b.Navigation("MaterialBase"); b.Navigation("MaterialFinish"); b.Navigation("MaterialModifier"); }); modelBuilder.Entity("Extrudex.Domain.Entities.AmsUnit", b => { b.Navigation("Slots"); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialBase", b => { b.Navigation("Finishes"); b.Navigation("Modifiers"); b.Navigation("Spools"); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialFinish", b => { b.Navigation("Spools"); }); modelBuilder.Entity("Extrudex.Domain.Entities.MaterialModifier", b => { b.Navigation("Spools"); }); modelBuilder.Entity("Extrudex.Domain.Entities.Printer", b => { b.Navigation("AmsUnits"); b.Navigation("PrintJobs"); }); modelBuilder.Entity("Extrudex.Domain.Entities.Spool", b => { b.Navigation("AmsSlots"); b.Navigation("PrintJobs"); }); #pragma warning restore 612, 618 } } }