// using System; using AmtScanner.Api.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace AmtScanner.Api.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260120053346_AddWindowsCredentialsAndRemoteAccessTokens")] partial class AddWindowsCredentialsAndRemoteAccessTokens { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 64); modelBuilder.Entity("AmtScanner.Api.Models.AmtCredential", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Description") .HasColumnType("longtext"); b.Property("IsDefault") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("Password") .IsRequired() .HasColumnType("longtext"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("Username") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("Name"); b.ToTable("AmtCredentials"); }); modelBuilder.Entity("AmtScanner.Api.Models.AmtDevice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("AmtOnline") .HasColumnType("tinyint(1)"); b.Property("Description") .HasColumnType("longtext"); b.Property("DiscoveredAt") .HasColumnType("datetime(6)"); b.Property("Hostname") .HasColumnType("longtext"); b.Property("IpAddress") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("LastSeenAt") .HasColumnType("datetime(6)"); b.Property("MajorVersion") .HasColumnType("int"); b.Property("MinorVersion") .HasColumnType("int"); b.Property("OsOnline") .HasColumnType("tinyint(1)"); b.Property("ProvisioningState") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("IpAddress") .IsUnique(); b.ToTable("AmtDevices"); }); modelBuilder.Entity("AmtScanner.Api.Models.HardwareInfo", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DeviceId") .HasColumnType("bigint"); b.Property("LastUpdated") .HasColumnType("datetime(6)"); b.Property("ProcessorCores") .HasColumnType("int"); b.Property("ProcessorCurrentClockSpeed") .HasColumnType("int"); b.Property("ProcessorMaxClockSpeed") .HasColumnType("int"); b.Property("ProcessorModel") .HasColumnType("longtext"); b.Property("ProcessorThreads") .HasColumnType("int"); b.Property("SystemManufacturer") .HasColumnType("longtext"); b.Property("SystemModel") .HasColumnType("longtext"); b.Property("SystemSerialNumber") .HasColumnType("longtext"); b.Property("TotalMemoryBytes") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("LastUpdated"); b.ToTable("HardwareInfos"); }); modelBuilder.Entity("AmtScanner.Api.Models.MemoryModule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CapacityBytes") .HasColumnType("bigint"); b.Property("HardwareInfoId") .HasColumnType("bigint"); b.Property("Manufacturer") .HasColumnType("longtext"); b.Property("MemoryType") .HasColumnType("longtext"); b.Property("PartNumber") .HasColumnType("longtext"); b.Property("SerialNumber") .HasColumnType("longtext"); b.Property("SlotLocation") .HasColumnType("longtext"); b.Property("SpeedMHz") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("HardwareInfoId"); b.ToTable("MemoryModules"); }); modelBuilder.Entity("AmtScanner.Api.Models.RemoteAccessToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DeviceId") .HasColumnType("bigint"); b.Property("ExpiresAt") .HasColumnType("datetime(6)"); b.Property("IsUsed") .HasColumnType("tinyint(1)"); b.Property("MaxUseCount") .HasColumnType("int"); b.Property("Note") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Token") .IsRequired() .HasMaxLength(64) .HasColumnType("varchar(64)"); b.Property("UseCount") .HasColumnType("int"); b.Property("UsedAt") .HasColumnType("datetime(6)"); b.Property("WindowsCredentialId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("Token") .IsUnique(); b.HasIndex("WindowsCredentialId"); b.ToTable("RemoteAccessTokens"); }); modelBuilder.Entity("AmtScanner.Api.Models.StorageDevice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CapacityBytes") .HasColumnType("bigint"); b.Property("DeviceId") .HasColumnType("longtext"); b.Property("HardwareInfoId") .HasColumnType("bigint"); b.Property("InterfaceType") .HasColumnType("longtext"); b.Property("Model") .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("HardwareInfoId"); b.ToTable("StorageDevices"); }); modelBuilder.Entity("AmtScanner.Api.Models.WindowsCredential", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Domain") .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("IsDefault") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("Note") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Password") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("Username") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.HasKey("Id"); b.HasIndex("Name"); b.ToTable("WindowsCredentials"); }); modelBuilder.Entity("AmtScanner.Api.Models.HardwareInfo", b => { b.HasOne("AmtScanner.Api.Models.AmtDevice", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Device"); }); modelBuilder.Entity("AmtScanner.Api.Models.MemoryModule", b => { b.HasOne("AmtScanner.Api.Models.HardwareInfo", "HardwareInfo") .WithMany("MemoryModules") .HasForeignKey("HardwareInfoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("HardwareInfo"); }); modelBuilder.Entity("AmtScanner.Api.Models.RemoteAccessToken", b => { b.HasOne("AmtScanner.Api.Models.AmtDevice", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AmtScanner.Api.Models.WindowsCredential", "WindowsCredential") .WithMany() .HasForeignKey("WindowsCredentialId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Device"); b.Navigation("WindowsCredential"); }); modelBuilder.Entity("AmtScanner.Api.Models.StorageDevice", b => { b.HasOne("AmtScanner.Api.Models.HardwareInfo", "HardwareInfo") .WithMany("StorageDevices") .HasForeignKey("HardwareInfoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("HardwareInfo"); }); modelBuilder.Entity("AmtScanner.Api.Models.HardwareInfo", b => { b.Navigation("MemoryModules"); b.Navigation("StorageDevices"); }); #pragma warning restore 612, 618 } } }