Files
jobtrackingapp/JobTrackerApi/Models/InterviewPrepNote.cs
T
cesnimda ce76046a29 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
2026-07-31 16:54:16 +02:00

23 lines
1.2 KiB
C#

namespace JobTrackerApi.Models;
// Persists interview prep so it survives tab switches and page reloads instead of being an AI
// call re-run every time the tab opens (career-workspace-implementation-roadmap.md Phase F5 --
// "persist interview prep / fit outputs" -- flagged in the product teardown as work evaporating
// on every re-open). One row per job application; regenerated when the selected attachment
// context changes or the user explicitly requests a refresh.
public sealed class InterviewPrepNote
{
public int Id { get; set; }
public string OwnerUserId { get; set; } = string.Empty;
public int JobApplicationId { get; set; }
public JobApplication? JobApplication { get; set; }
// Fingerprint of the attachment selection this note was generated from, so a different
// attachment selection triggers regeneration without needing an explicit refresh.
public string AttachmentContextSignature { get; set; } = string.Empty;
public string Summary { get; set; } = string.Empty;
public string TalkingPointsJson { get; set; } = "[]";
public string LikelyQuestionsJson { get; set; } = "[]";
public string WeakSpotsJson { get; set; } = "[]";
public DateTimeOffset GeneratedAtUtc { get; set; } = DateTimeOffset.UtcNow;
}