docs: consolidate repository guides and preserve audit history
This commit is contained in:
@@ -385,7 +385,7 @@ namespace JobTrackerApi.Data
|
||||
modelBuilder.Entity<UserSession>()
|
||||
.HasIndex(x => x.UserId);
|
||||
|
||||
// Career Workspace foundation (docs/career-workspace-implementation-roadmap.md Phase F1).
|
||||
// Career Workspace foundation (docs/roadmap/todo.md).
|
||||
// One CareerProfile per user for now -- see roadmap "Not now: multiple profiles per user".
|
||||
modelBuilder.Entity<CareerProfile>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
@@ -412,7 +412,7 @@ namespace JobTrackerApi.Data
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
// Phase 3: relational children of CareerProfile (the editable master profile).
|
||||
// docs/architecture/career-profile-model.md. Same deny-on-null tenant filter as everything
|
||||
// docs/architecture/overview.md. Same deny-on-null tenant filter as everything
|
||||
// else; cascade-delete with the parent; indexed by (OwnerUserId, CareerProfileId, SortOrder)
|
||||
// for the ordered per-profile reads the /career editor does.
|
||||
ConfigureCareerChild<CareerExperience>(modelBuilder);
|
||||
@@ -470,7 +470,7 @@ namespace JobTrackerApi.Data
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
// Phase 4: CV variants (a lens over the master profile) + their autosave history.
|
||||
// docs/architecture/cv-builder.md. Same deny-on-null tenant filter as everything else. A
|
||||
// docs/architecture/overview.md. Same deny-on-null tenant filter as everything else. A
|
||||
// variant references a job application (reference-not-ownership, SetNull on delete) and never
|
||||
// owns career data. PublicSlug is globally unique so /cv/{slug} can resolve it anonymously.
|
||||
modelBuilder.Entity<CvVariant>()
|
||||
@@ -504,7 +504,7 @@ namespace JobTrackerApi.Data
|
||||
|
||||
// Phase 5: append-only AI interaction history per job application. Same deny-on-null tenant
|
||||
// filter; indexed for the per-job history read; cascades with the application.
|
||||
// docs/architecture/ai-career-assistant.md.
|
||||
// docs/ai/architecture.md.
|
||||
modelBuilder.Entity<AiInteraction>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
// varchar (not longtext) for the indexed columns — see the CvVariant note above.
|
||||
@@ -532,7 +532,7 @@ namespace JobTrackerApi.Data
|
||||
|
||||
// Phase 5 Milestone 2: the application checklist — a workflow guidance layer over the existing
|
||||
// readiness signals, not a second store of truth. Same deny-on-null tenant filter; cascades with
|
||||
// the application. docs/architecture/application-workspace.md.
|
||||
// the application. docs/architecture/overview.md.
|
||||
modelBuilder.Entity<ApplicationChecklistItem>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
// varchar (not longtext) for the indexed columns — see the CvVariant note above.
|
||||
@@ -557,7 +557,7 @@ namespace JobTrackerApi.Data
|
||||
|
||||
// Phase 5.4: append-only cover letter history. JobApplication.CoverLetterText stays the
|
||||
// current text; this makes every previous state recoverable.
|
||||
// docs/architecture/application-workspace.md.
|
||||
// docs/architecture/overview.md.
|
||||
modelBuilder.Entity<CoverLetterVersion>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
// varchar (not longtext) for the indexed columns — see the CvVariant note above.
|
||||
@@ -600,7 +600,7 @@ namespace JobTrackerApi.Data
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
// Phase 5.5: user-owned interview preparation. Unlike InterviewPrepNote (an AI cache), nothing
|
||||
// regenerates this. docs/architecture/application-workspace.md.
|
||||
// regenerates this. docs/architecture/overview.md.
|
||||
modelBuilder.Entity<InterviewPrepItem>()
|
||||
.HasQueryFilter(x => CurrentUserId != null && x.OwnerUserId == CurrentUserId);
|
||||
// varchar (not longtext) for the indexed columns — see the CvVariant note above.
|
||||
|
||||
Reference in New Issue
Block a user