feat(applications): preserve submitted packages

This commit is contained in:
cesnimda
2026-08-31 16:54:41 +02:00
parent 47e8e3e50e
commit 5337ba3a5e
22 changed files with 903 additions and 11 deletions
@@ -1086,6 +1086,43 @@ namespace JobTrackerApi.Migrations
b.ToTable("CoverLetterVersions");
});
modelBuilder.Entity("JobTrackerApi.Models.SubmittedApplicationPackage", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
b.Property<string>("ApplicationMaterialJson").IsRequired().HasColumnType("TEXT");
b.Property<string>("CareerProfileJson").HasColumnType("TEXT");
b.Property<string>("CoverLetterText").HasColumnType("TEXT");
b.Property<DateTimeOffset>("CreatedAtUtc").HasColumnType("TEXT");
b.Property<string>("CvSettingsJson").HasColumnType("TEXT");
b.Property<string>("CvThemeId").HasMaxLength(64).HasColumnType("TEXT");
b.Property<int?>("CvVariantId").HasColumnType("INTEGER");
b.Property<string>("CvVariantName").HasMaxLength(255).HasColumnType("TEXT");
b.Property<int?>("CvVariantVersion").HasColumnType("INTEGER");
b.Property<int>("JobApplicationId").HasColumnType("INTEGER");
b.Property<string>("OwnerUserId").IsRequired().HasMaxLength(255).HasColumnType("TEXT");
b.Property<string>("RenderedCvHtml").HasColumnType("TEXT");
b.Property<int>("Version").HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("JobApplicationId");
b.HasIndex("OwnerUserId", "JobApplicationId", "Version").IsUnique();
b.ToTable("SubmittedApplicationPackages");
});
modelBuilder.Entity("JobTrackerApi.Models.SubmittedPackageAttachment", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
b.Property<string>("FileName").IsRequired().HasMaxLength(500).HasColumnType("TEXT");
b.Property<string>("FilePath").IsRequired().HasColumnType("TEXT");
b.Property<long>("FileSize").HasColumnType("INTEGER");
b.Property<string>("FileType").IsRequired().HasMaxLength(255).HasColumnType("TEXT");
b.Property<string>("Purpose").HasMaxLength(64).HasColumnType("TEXT");
b.Property<string>("Sha256").IsRequired().HasMaxLength(64).HasColumnType("TEXT");
b.Property<int>("SubmittedApplicationPackageId").HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("SubmittedApplicationPackageId");
b.ToTable("SubmittedPackageAttachments");
});
modelBuilder.Entity("JobTrackerApi.Models.CvExtractionRun", b =>
{
b.Property<int>("Id")
@@ -2666,6 +2703,29 @@ namespace JobTrackerApi.Migrations
b.Navigation("JobApplication");
});
modelBuilder.Entity("JobTrackerApi.Models.SubmittedApplicationPackage", b =>
{
b.HasOne("JobTrackerApi.Models.JobApplication", "JobApplication")
.WithMany()
.HasForeignKey("JobApplicationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("JobApplication");
});
modelBuilder.Entity("JobTrackerApi.Models.SubmittedPackageAttachment", b =>
{
b.HasOne("JobTrackerApi.Models.SubmittedApplicationPackage", "Package")
.WithMany("Attachments")
.HasForeignKey("SubmittedApplicationPackageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_SubmittedPackageAttachments_Packages_PackageId");
b.Navigation("Package");
});
modelBuilder.Entity("JobTrackerApi.Models.CvExtractionRun", b =>
{
b.HasOne("JobTrackerApi.Models.CvUploadArtifact", "Artifact")
@@ -2893,6 +2953,11 @@ namespace JobTrackerApi.Migrations
b.Navigation("TailoredCvDraft");
});
modelBuilder.Entity("JobTrackerApi.Models.SubmittedApplicationPackage", b =>
{
b.Navigation("Attachments");
});
#pragma warning restore 612, 618
}
}