feat: complete release readiness work
- consolidate API ownership and remove dead vendor code - add Stripe billing, learning paths, and public CV hardening - add migration, recovery, security, audit, and browser gates
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
namespace JobTrackerApi.Models;
|
||||
|
||||
// Generic persistence for per-job AI workspace outputs whose shape is irregular/nested enough
|
||||
// that per-field columns (as used by InterviewPrepNote) would be unreasonable -- candidate fit
|
||||
// and focus plan each make several AI calls and return DTOs with 6-13 fields including nested
|
||||
// objects. One row per (owner, job, note type); ResultJson is the serialized DTO. See
|
||||
// career-workspace-implementation-roadmap.md Phase F5 -- "persist interview prep / fit outputs".
|
||||
public sealed class AiWorkspaceNote
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string OwnerUserId { get; set; } = string.Empty;
|
||||
public int JobApplicationId { get; set; }
|
||||
public JobApplication? JobApplication { get; set; }
|
||||
// "candidate-fit" | "focus-plan"
|
||||
public string NoteType { get; set; } = string.Empty;
|
||||
public string AttachmentContextSignature { get; set; } = string.Empty;
|
||||
public string ResultJson { get; set; } = string.Empty;
|
||||
public DateTimeOffset GeneratedAtUtc { get; set; } = DateTimeOffset.UtcNow;
|
||||
}
|
||||
Reference in New Issue
Block a user