// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using RealCV.Infrastructure.Data; #nullable disable namespace RealCV.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260120194532_AddAuditLogTable")] partial class AddAuditLogTable { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.23") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property("Name") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex") .HasFilter("[NormalizedName] IS NOT NULL"); b.ToTable("AspNetRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("nvarchar(max)"); b.Property("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property("RoleId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("nvarchar(max)"); b.Property("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasColumnType("nvarchar(450)"); b.Property("ProviderKey") .HasColumnType("nvarchar(450)"); b.Property("ProviderDisplayName") .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("RoleId") .HasColumnType("uniqueidentifier"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("LoginProvider") .HasColumnType("nvarchar(450)"); b.Property("Name") .HasColumnType("nvarchar(450)"); b.Property("Value") .HasColumnType("nvarchar(max)"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("AspNetUserTokens", (string)null); }); modelBuilder.Entity("RealCV.Domain.Entities.AuditLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("Action") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Details") .HasMaxLength(1024) .HasColumnType("nvarchar(1024)"); b.Property("EntityId") .HasColumnType("uniqueidentifier"); b.Property("EntityType") .HasMaxLength(128) .HasColumnType("nvarchar(128)"); b.Property("IpAddress") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.HasKey("Id"); b.HasIndex("Action") .HasDatabaseName("IX_AuditLogs_Action"); b.HasIndex("CreatedAt") .HasDatabaseName("IX_AuditLogs_CreatedAt"); b.HasIndex("UserId") .HasDatabaseName("IX_AuditLogs_UserId"); b.ToTable("AuditLogs"); }); modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("BlobUrl") .IsRequired() .HasMaxLength(2048) .HasColumnType("nvarchar(2048)"); b.Property("CompletedAt") .HasColumnType("datetime2"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("ExtractedDataJson") .HasColumnType("nvarchar(max)"); b.Property("OriginalFileName") .IsRequired() .HasMaxLength(512) .HasColumnType("nvarchar(512)"); b.Property("ProcessingStage") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("ReportJson") .HasColumnType("nvarchar(max)"); b.Property("Status") .IsRequired() .HasMaxLength(32) .HasColumnType("nvarchar(32)"); b.Property("UserId") .HasColumnType("uniqueidentifier"); b.Property("VeracityScore") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("Status") .HasDatabaseName("IX_CVChecks_Status"); b.HasIndex("UserId") .HasDatabaseName("IX_CVChecks_UserId"); b.ToTable("CVChecks"); }); modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CVCheckId") .HasColumnType("uniqueidentifier"); b.Property("Category") .IsRequired() .HasMaxLength(32) .HasColumnType("nvarchar(32)"); b.Property("Description") .IsRequired() .HasMaxLength(2048) .HasColumnType("nvarchar(2048)"); b.Property("ScoreImpact") .HasColumnType("int"); b.Property("Severity") .IsRequired() .HasMaxLength(32) .HasColumnType("nvarchar(32)"); b.Property("Title") .IsRequired() .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("CVCheckId") .HasDatabaseName("IX_CVFlags_CVCheckId"); b.ToTable("CVFlags"); }); modelBuilder.Entity("RealCV.Domain.Entities.CompanyCache", b => { b.Property("CompanyNumber") .HasMaxLength(32) .HasColumnType("nvarchar(32)"); b.Property("AccountsCategory") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("CachedAt") .HasColumnType("datetime2"); b.Property("CompanyName") .IsRequired() .HasMaxLength(512) .HasColumnType("nvarchar(512)"); b.Property("CompanyType") .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.Property("DissolutionDate") .HasColumnType("date"); b.Property("IncorporationDate") .HasColumnType("date"); b.Property("SicCodesJson") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("Status") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)"); b.HasKey("CompanyNumber"); b.ToTable("CompanyCache"); }); modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("AccessFailedCount") .HasColumnType("int"); b.Property("ChecksUsedThisMonth") .HasColumnType("int"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property("Email") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("EmailConfirmed") .HasColumnType("bit"); b.Property("LockoutEnabled") .HasColumnType("bit"); b.Property("LockoutEnd") .HasColumnType("datetimeoffset"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("PasswordHash") .HasColumnType("nvarchar(max)"); b.Property("PhoneNumber") .HasColumnType("nvarchar(max)"); b.Property("PhoneNumberConfirmed") .HasColumnType("bit"); b.Property("Plan") .IsRequired() .HasMaxLength(32) .HasColumnType("nvarchar(32)"); b.Property("SecurityStamp") .HasColumnType("nvarchar(max)"); b.Property("StripeCustomerId") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property("TwoFactorEnabled") .HasColumnType("bit"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex") .HasFilter("[NormalizedUserName] IS NOT NULL"); b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany("CVChecks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.HasOne("RealCV.Domain.Entities.CVCheck", "CVCheck") .WithMany("Flags") .HasForeignKey("CVCheckId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CVCheck"); }); modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Navigation("Flags"); }); modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Navigation("CVChecks"); }); #pragma warning restore 612, 618 } } }