feat(discovery): add saved job searches
This commit is contained in:
@@ -52,6 +52,8 @@ namespace JobTrackerApi.Data
|
||||
public DbSet<CareerCertification> CareerCertifications => Set<CareerCertification>();
|
||||
public DbSet<CareerLanguage> CareerLanguages => Set<CareerLanguage>();
|
||||
public DbSet<CareerEvidence> CareerEvidence => Set<CareerEvidence>();
|
||||
public DbSet<SavedJobSearch> SavedJobSearches => Set<SavedJobSearch>();
|
||||
public DbSet<SavedJobSearchResult> SavedJobSearchResults => Set<SavedJobSearchResult>();
|
||||
public DbSet<InterviewPrepNote> InterviewPrepNotes => Set<InterviewPrepNote>();
|
||||
public DbSet<AiWorkspaceNote> AiWorkspaceNotes => Set<AiWorkspaceNote>();
|
||||
public DbSet<CvVariant> CvVariants => Set<CvVariant>();
|
||||
@@ -426,6 +428,16 @@ namespace JobTrackerApi.Data
|
||||
modelBuilder.Entity<CareerEvidence>().Property(x => x.SourceType).HasMaxLength(32);
|
||||
modelBuilder.Entity<CareerEvidence>().Property(x => x.SourceReference).HasMaxLength(500);
|
||||
modelBuilder.Entity<CareerEvidence>().HasIndex(x => new { x.OwnerUserId, x.UpdatedAtUtc });
|
||||
modelBuilder.Entity<SavedJobSearch>().HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
modelBuilder.Entity<SavedJobSearch>().Property(x => x.OwnerUserId).HasMaxLength(255);
|
||||
modelBuilder.Entity<SavedJobSearch>().Property(x => x.Name).HasMaxLength(255);
|
||||
modelBuilder.Entity<SavedJobSearch>().Property(x => x.Query).HasMaxLength(500);
|
||||
modelBuilder.Entity<SavedJobSearch>().Property(x => x.Location).HasMaxLength(255);
|
||||
modelBuilder.Entity<SavedJobSearch>().HasIndex(x => new { x.OwnerUserId, x.UpdatedAtUtc });
|
||||
modelBuilder.Entity<SavedJobSearchResult>().HasQueryFilter(x => CurrentUserId != null && x.SavedJobSearch != null && x.SavedJobSearch.OwnerUserId == CurrentUserId);
|
||||
modelBuilder.Entity<SavedJobSearchResult>().Property(x => x.ExternalJobId).HasMaxLength(128);
|
||||
modelBuilder.Entity<SavedJobSearchResult>().HasIndex(x => new { x.SavedJobSearchId, x.ExternalJobId }).IsUnique();
|
||||
modelBuilder.Entity<SavedJobSearchResult>().HasOne(x => x.SavedJobSearch).WithMany(x => x.Results).HasForeignKey(x => x.SavedJobSearchId).OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
// Interview prep persistence (career-workspace-implementation-roadmap.md Phase F5).
|
||||
modelBuilder.Entity<InterviewPrepNote>()
|
||||
|
||||
Reference in New Issue
Block a user