Add UK education verification and security fixes
Features: - Add UK institution recognition (170+ universities) - Add diploma mill detection (100+ blacklisted institutions) - Add education verification service with date plausibility checks - Add local file storage option (no Azure required) - Add default admin user seeding on startup - Enhance Serilog logging with file output Security fixes: - Fix path traversal vulnerability in LocalFileStorageService - Fix open redirect in login endpoint (use LocalRedirect) - Fix password validation message (12 chars, not 6) - Fix login to use HTTP POST endpoint (avoid Blazor cookie issues) Code improvements: - Add CancellationToken propagation to CV parser - Add shared helpers (JsonDefaults, DateHelpers, ScoreThresholds) - Add IUserContextService for user ID extraction - Parallelized company verification in ProcessCVCheckJob - Add 28 unit tests for education verification Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
22
src/TrueCV.Application/Models/EducationVerificationResult.cs
Normal file
22
src/TrueCV.Application/Models/EducationVerificationResult.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace TrueCV.Application.Models;
|
||||
|
||||
public sealed record EducationVerificationResult
|
||||
{
|
||||
public required string ClaimedInstitution { get; init; }
|
||||
public string? MatchedInstitution { get; init; }
|
||||
public required string Status { get; init; } // Recognised, NotRecognised, DiplomaMill, Suspicious, Unknown
|
||||
public bool IsVerified { get; init; }
|
||||
public bool IsDiplomaMill { get; init; }
|
||||
public bool IsSuspicious { get; init; }
|
||||
public string? VerificationNotes { get; init; }
|
||||
|
||||
// Date plausibility
|
||||
public DateOnly? ClaimedStartDate { get; init; }
|
||||
public DateOnly? ClaimedEndDate { get; init; }
|
||||
public bool DatesArePlausible { get; init; } = true;
|
||||
public string? DatePlausibilityNotes { get; init; }
|
||||
|
||||
// Qualification info
|
||||
public string? ClaimedQualification { get; init; }
|
||||
public string? ClaimedSubject { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user