refactor(api): extract JobApplications DTOs and helpers, fix N+1 aggregation
- Move inline DTOs to JobApplicationDtos.cs, pure static helpers to JobApplicationHelpers.cs - GetStats aggregates server-side (COUNT/GROUP BY) instead of loading the full table - Cache RuleSettings via IMemoryCache, keyed per-user (RulesEngine.GetSettings falls back to per-user UserRuleSettings overrides, so a single global cache key would leak settings across users) - Add missing AsNoTracking() to read-only GET endpoints (GetAll, GetById, GetBoard, GetReminders, GetStatusSuggestion, GetMatchScore, GetCandidateFit, GetFocusPlan, GetInterviewPrep, GetReadiness) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ public sealed class JobApplicationsControllerTests
|
||||
[Fact]
|
||||
public void Application_package_record_exposes_expected_fields()
|
||||
{
|
||||
var type = typeof(JobApplicationsController).GetNestedType("GenerateApplicationPackageDto", BindingFlags.Public | BindingFlags.NonPublic);
|
||||
var type = typeof(GenerateApplicationPackageDto);
|
||||
Assert.NotNull(type);
|
||||
|
||||
var props = type!.GetProperties(BindingFlags.Public | BindingFlags.Instance).Select(x => x.Name).ToHashSet();
|
||||
@@ -23,7 +23,7 @@ public sealed class JobApplicationsControllerTests
|
||||
[Fact]
|
||||
public void Save_application_drafts_request_supports_cover_letter_and_notes()
|
||||
{
|
||||
var type = typeof(JobApplicationsController).GetNestedType("SaveApplicationDraftsRequest", BindingFlags.Public | BindingFlags.NonPublic);
|
||||
var type = typeof(SaveApplicationDraftsRequest);
|
||||
Assert.NotNull(type);
|
||||
|
||||
var ctor = type!.GetConstructors().Single();
|
||||
|
||||
Reference in New Issue
Block a user