// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using WordVersioning.Api.Data; #nullable disable namespace WordVersioning.Api.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260821233511_AddTemplateFieldEditor")] partial class AddTemplateFieldEditor { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.11") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("WordVersioning.Api.Models.Document", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AddInSignature") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("FileName") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("TemplateId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("TemplateId"); b.ToTable("Documents"); }); modelBuilder.Entity("WordVersioning.Api.Models.DocumentFieldValue", b => { b.Property("DocumentId") .HasColumnType("uuid"); b.Property("FieldKey") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("SourceVersionId") .HasColumnType("uuid"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedByUserId") .IsRequired() .HasColumnType("text"); b.Property("Value") .IsRequired() .HasColumnType("text"); b.HasKey("DocumentId", "FieldKey"); b.ToTable("DocumentFieldValues"); }); modelBuilder.Entity("WordVersioning.Api.Models.DocumentVersion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ContentHash") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedByUserId") .IsRequired() .HasColumnType("text"); b.Property("DocumentId") .HasColumnType("uuid"); b.Property("FieldsSnapshotJson") .HasColumnType("text"); b.Property("Message") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("ObjectKey") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)"); b.Property("VersionNumber") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("DocumentId", "VersionNumber") .IsUnique(); b.ToTable("DocumentVersions"); }); modelBuilder.Entity("WordVersioning.Api.Models.Template", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Description") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("IsActive") .HasColumnType("boolean"); b.Property("Name") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("ObjectKey") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Templates"); }); modelBuilder.Entity("WordVersioning.Api.Models.TemplateField", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Editor") .HasMaxLength(16) .HasColumnType("character varying(16)"); b.Property("IsRequired") .HasColumnType("boolean"); b.Property("Key") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("Label") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("SortOrder") .HasColumnType("integer"); b.Property("TemplateId") .HasColumnType("uuid"); b.Property("Type") .IsRequired() .HasMaxLength(16) .HasColumnType("character varying(16)"); b.HasKey("Id"); b.HasIndex("TemplateId", "Key") .IsUnique(); b.ToTable("TemplateFields"); }); modelBuilder.Entity("WordVersioning.Api.Models.Document", b => { b.HasOne("WordVersioning.Api.Models.Template", "Template") .WithMany("Documents") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Template"); }); modelBuilder.Entity("WordVersioning.Api.Models.DocumentFieldValue", b => { b.HasOne("WordVersioning.Api.Models.Document", null) .WithMany() .HasForeignKey("DocumentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("WordVersioning.Api.Models.DocumentVersion", b => { b.HasOne("WordVersioning.Api.Models.Document", "Document") .WithMany("Versions") .HasForeignKey("DocumentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Document"); }); modelBuilder.Entity("WordVersioning.Api.Models.TemplateField", b => { b.HasOne("WordVersioning.Api.Models.Template", "Template") .WithMany("Fields") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Template"); }); modelBuilder.Entity("WordVersioning.Api.Models.Document", b => { b.Navigation("Versions"); }); modelBuilder.Entity("WordVersioning.Api.Models.Template", b => { b.Navigation("Documents"); b.Navigation("Fields"); }); #pragma warning restore 612, 618 } } }