72 lines
2.7 KiB
C#
72 lines
2.7 KiB
C#
namespace JobTrackerApi.Models;
|
|
|
|
public sealed class TailoredCvDraft
|
|
{
|
|
public int Id { get; set; }
|
|
public string OwnerUserId { get; set; } = string.Empty;
|
|
public int JobApplicationId { get; set; }
|
|
public JobApplication? JobApplication { get; set; }
|
|
public int? CanonicalProfileVersion { get; set; }
|
|
public string TemplateId { get; set; } = "ats-minimal";
|
|
public string? Headline { get; set; }
|
|
public string? SummaryJson { get; set; }
|
|
public string? SelectedSkillsJson { get; set; }
|
|
public string? ExperienceJson { get; set; }
|
|
public string? EducationJson { get; set; }
|
|
public string? CustomSectionsJson { get; set; }
|
|
public string? RenderOptionsJson { get; set; }
|
|
public string? GenerationContextHash { get; set; }
|
|
public DateTimeOffset? LastGeneratedAtUtc { get; set; }
|
|
public DateTimeOffset? LastEditedAtUtc { get; set; }
|
|
public string Status { get; set; } = "generated";
|
|
}
|
|
|
|
public sealed class TailoredCvDocument
|
|
{
|
|
public string TemplateId { get; set; } = "ats-minimal";
|
|
public string? Headline { get; set; }
|
|
public List<string> Summary { get; set; } = new();
|
|
public List<string> SelectedSkills { get; set; } = new();
|
|
public List<TailoredCvExperienceItem> Experience { get; set; } = new();
|
|
public List<TailoredCvEducationItem> Education { get; set; } = new();
|
|
public List<TailoredCvCustomSection> CustomSections { get; set; } = new();
|
|
public TailoredCvRenderOptions RenderOptions { get; set; } = new();
|
|
}
|
|
|
|
public sealed class TailoredCvExperienceItem
|
|
{
|
|
public string? Title { get; set; }
|
|
public string? Company { get; set; }
|
|
public string? Location { get; set; }
|
|
public string? Start { get; set; }
|
|
public string? End { get; set; }
|
|
public bool IsCurrent { get; set; }
|
|
public List<string> Bullets { get; set; } = new();
|
|
}
|
|
|
|
public sealed class TailoredCvEducationItem
|
|
{
|
|
public string? Qualification { get; set; }
|
|
public string? QualificationLevel { get; set; }
|
|
public string? Institution { get; set; }
|
|
public string? Location { get; set; }
|
|
public string? Start { get; set; }
|
|
public string? End { get; set; }
|
|
public List<string> Details { get; set; } = new();
|
|
}
|
|
|
|
public sealed class TailoredCvCustomSection
|
|
{
|
|
public string? Title { get; set; }
|
|
public List<string> Items { get; set; } = new();
|
|
}
|
|
|
|
public sealed class TailoredCvRenderOptions
|
|
{
|
|
public bool ShowPhoto { get; set; }
|
|
public string PageMode { get; set; } = "one-page";
|
|
public string AccentColor { get; set; } = "slate";
|
|
public List<string> SectionOrder { get; set; } = new() { "summary", "skills", "experience", "education", "custom" };
|
|
public string BulletDensity { get; set; } = "balanced";
|
|
}
|