1+ using System . Text . Json ;
12using LrmCloud . Api . Data ;
23using LrmCloud . Shared . Configuration ;
34using LrmCloud . Shared . Constants ;
45using LrmCloud . Shared . DTOs ;
56using LrmCloud . Shared . DTOs . Projects ;
7+ using LrmCloud . Shared . DTOs . Resources ;
68using LrmCloud . Shared . Entities ;
79using Microsoft . EntityFrameworkCore ;
810
@@ -703,6 +705,25 @@ private ProjectDto MapToProjectDto(Project project, int userId)
703705 : 0 ;
704706 }
705707
708+ // Parse validation cache if available
709+ int validationErrors = 0 , validationWarnings = 0 ;
710+ if ( ! string . IsNullOrEmpty ( project . ValidationCacheJson ) )
711+ {
712+ try
713+ {
714+ var validationCache = JsonSerializer . Deserialize < ValidationResultDto > ( project . ValidationCacheJson ) ;
715+ if ( validationCache ? . Summary != null )
716+ {
717+ validationErrors = validationCache . Summary . Errors ;
718+ validationWarnings = validationCache . Summary . Warnings ;
719+ }
720+ }
721+ catch
722+ {
723+ // Ignore parse errors - cache may be corrupted
724+ }
725+ }
726+
706727 return new ProjectDto
707728 {
708729 Id = project . Id ,
@@ -727,7 +748,9 @@ private ProjectDto MapToProjectDto(Project project, int userId)
727748 TranslationCount = translationCount ,
728749 CompletionPercentage = completionPercentage ,
729750 CreatedAt = project . CreatedAt ,
730- UpdatedAt = project . UpdatedAt
751+ UpdatedAt = project . UpdatedAt ,
752+ ValidationErrors = validationErrors ,
753+ ValidationWarnings = validationWarnings
731754 } ;
732755 }
733756
0 commit comments