// using System; using AmtScanner.Api.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace AmtScanner.Api.Migrations { [DbContext(typeof(AppDbContext))] partial class AppDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(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.Property("SystemUuid") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("WindowsPassword") .HasColumnType("longtext"); b.Property("WindowsUsername") .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("IpAddress") .IsUnique(); b.HasIndex("SystemUuid"); b.ToTable("AmtDevices"); }); modelBuilder.Entity("AmtScanner.Api.Models.DeviceReservation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("AccessToken") .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DeviceId") .HasColumnType("bigint"); b.Property("EndTime") .HasColumnType("datetime(6)"); b.Property("Note") .HasColumnType("longtext"); b.Property("StartTime") .HasColumnType("datetime(6)"); b.Property("Status") .HasColumnType("int"); b.Property("UserId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("UserId"); b.HasIndex("DeviceId", "Status", "EndTime"); b.ToTable("DeviceReservations"); }); 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("SystemUuid") .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.Menu", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("AuthList") .HasMaxLength(1000) .HasColumnType("varchar(1000)"); b.Property("Component") .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Icon") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("IsHide") .HasColumnType("tinyint(1)"); b.Property("IsHideTab") .HasColumnType("tinyint(1)"); b.Property("IsIframe") .HasColumnType("tinyint(1)"); b.Property("IsSystem") .HasColumnType("tinyint(1)"); b.Property("KeepAlive") .HasColumnType("tinyint(1)"); b.Property("Link") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("ParentId") .HasColumnType("int"); b.Property("Path") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("Roles") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Sort") .HasColumnType("int"); b.Property("Title") .HasMaxLength(200) .HasColumnType("varchar(200)"); b.HasKey("Id"); b.HasIndex("Name"); b.HasIndex("ParentId"); b.ToTable("Menus"); }); modelBuilder.Entity("AmtScanner.Api.Models.OsDevice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); b.Property("AmtDeviceId") .HasColumnType("bigint"); b.Property("Architecture") .HasColumnType("longtext"); 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("IsOnline") .HasColumnType("tinyint(1)"); b.Property("LastBootTime") .HasColumnType("datetime(6)"); b.Property("LastOnlineAt") .HasColumnType("datetime(6)"); b.Property("LastUpdatedAt") .HasColumnType("datetime(6)"); b.Property("LoggedInUser") .HasColumnType("longtext"); b.Property("MacAddress") .HasColumnType("longtext"); b.Property("OsType") .HasColumnType("int"); b.Property("OsVersion") .HasColumnType("longtext"); b.Property("SystemUuid") .HasMaxLength(50) .HasColumnType("varchar(50)"); b.HasKey("Id"); b.HasIndex("AmtDeviceId"); b.HasIndex("IpAddress") .IsUnique(); b.HasIndex("SystemUuid"); b.ToTable("OsDevices"); }); 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.HasKey("Id"); b.HasIndex("DeviceId"); b.HasIndex("Token") .IsUnique(); b.ToTable("RemoteAccessTokens"); }); modelBuilder.Entity("AmtScanner.Api.Models.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Description") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("Enabled") .HasColumnType("tinyint(1)"); b.Property("RoleCode") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)"); b.Property("RoleName") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.HasKey("Id"); b.HasIndex("RoleCode") .IsUnique(); b.ToTable("Roles"); }); modelBuilder.Entity("AmtScanner.Api.Models.RoleMenu", b => { b.Property("RoleId") .HasColumnType("int"); b.Property("MenuId") .HasColumnType("int"); b.HasKey("RoleId", "MenuId"); b.HasIndex("MenuId"); b.ToTable("RoleMenus"); }); 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.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); b.Property("Avatar") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("Email") .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("Gender") .IsRequired() .HasMaxLength(1) .HasColumnType("varchar(1)"); b.Property("IsDeleted") .HasColumnType("tinyint(1)"); b.Property("NickName") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("PasswordHash") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("Phone") .HasMaxLength(20) .HasColumnType("varchar(20)"); b.Property("RefreshToken") .HasMaxLength(500) .HasColumnType("varchar(500)"); b.Property("RefreshTokenExpiryTime") .HasColumnType("datetime(6)"); b.Property("Status") .IsRequired() .HasMaxLength(1) .HasColumnType("varchar(1)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("UpdatedBy") .HasMaxLength(100) .HasColumnType("varchar(100)"); b.Property("UserName") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.HasKey("Id"); b.HasIndex("UserName") .IsUnique(); b.ToTable("Users"); }); modelBuilder.Entity("AmtScanner.Api.Models.UserRole", b => { b.Property("UserId") .HasColumnType("int"); b.Property("RoleId") .HasColumnType("int"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("UserRoles"); }); 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.DeviceReservation", b => { b.HasOne("AmtScanner.Api.Models.AmtDevice", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AmtScanner.Api.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Device"); b.Navigation("User"); }); 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.Menu", b => { b.HasOne("AmtScanner.Api.Models.Menu", "Parent") .WithMany("Children") .HasForeignKey("ParentId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Parent"); }); modelBuilder.Entity("AmtScanner.Api.Models.OsDevice", b => { b.HasOne("AmtScanner.Api.Models.AmtDevice", "AmtDevice") .WithMany() .HasForeignKey("AmtDeviceId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("AmtDevice"); }); modelBuilder.Entity("AmtScanner.Api.Models.RemoteAccessToken", b => { b.HasOne("AmtScanner.Api.Models.AmtDevice", "Device") .WithMany() .HasForeignKey("DeviceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Device"); }); modelBuilder.Entity("AmtScanner.Api.Models.RoleMenu", b => { b.HasOne("AmtScanner.Api.Models.Menu", "Menu") .WithMany("RoleMenus") .HasForeignKey("MenuId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AmtScanner.Api.Models.Role", "Role") .WithMany("RoleMenus") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Menu"); b.Navigation("Role"); }); 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.UserRole", b => { b.HasOne("AmtScanner.Api.Models.Role", "Role") .WithMany("UserRoles") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("AmtScanner.Api.Models.User", "User") .WithMany("UserRoles") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("User"); }); modelBuilder.Entity("AmtScanner.Api.Models.HardwareInfo", b => { b.Navigation("MemoryModules"); b.Navigation("StorageDevices"); }); modelBuilder.Entity("AmtScanner.Api.Models.Menu", b => { b.Navigation("Children"); b.Navigation("RoleMenus"); }); modelBuilder.Entity("AmtScanner.Api.Models.Role", b => { b.Navigation("RoleMenus"); b.Navigation("UserRoles"); }); modelBuilder.Entity("AmtScanner.Api.Models.User", b => { b.Navigation("UserRoles"); }); #pragma warning restore 612, 618 } } }