diff --git a/TrueCV.sln b/RealCV.sln similarity index 81% rename from TrueCV.sln rename to RealCV.sln index c28d864..e96013c 100644 --- a/TrueCV.sln +++ b/RealCV.sln @@ -5,17 +5,17 @@ VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{F25C3740-9240-46DF-BC34-985BC577216B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrueCV.Domain", "src\TrueCV.Domain\TrueCV.Domain.csproj", "{41AC48AF-09BC-48D1-9CA4-1B05D3B693F0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealCV.Domain", "src\RealCV.Domain\RealCV.Domain.csproj", "{41AC48AF-09BC-48D1-9CA4-1B05D3B693F0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrueCV.Application", "src\TrueCV.Application\TrueCV.Application.csproj", "{A8A1BA81-3B2F-4F95-BB15-ACA40DF2A70E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealCV.Application", "src\RealCV.Application\RealCV.Application.csproj", "{A8A1BA81-3B2F-4F95-BB15-ACA40DF2A70E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrueCV.Infrastructure", "src\TrueCV.Infrastructure\TrueCV.Infrastructure.csproj", "{03DB607C-9592-4930-8C89-3E257A319278}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealCV.Infrastructure", "src\RealCV.Infrastructure\RealCV.Infrastructure.csproj", "{03DB607C-9592-4930-8C89-3E257A319278}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrueCV.Web", "src\TrueCV.Web\TrueCV.Web.csproj", "{D69F57DB-3092-48AF-81BB-868E3749C638}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealCV.Web", "src\RealCV.Web\RealCV.Web.csproj", "{D69F57DB-3092-48AF-81BB-868E3749C638}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{80890010-EDA6-418B-AD6C-5A9D875594C4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrueCV.Tests", "tests\TrueCV.Tests\TrueCV.Tests.csproj", "{4450D4F1-4EB9-445E-904B-1C57701493D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealCV.Tests", "tests\RealCV.Tests\RealCV.Tests.csproj", "{4450D4F1-4EB9-445E-904B-1C57701493D8}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/screenshots/homepage.png b/screenshots/homepage.png new file mode 100644 index 0000000..42c4025 Binary files /dev/null and b/screenshots/homepage.png differ diff --git a/screenshots/login.png b/screenshots/login.png new file mode 100644 index 0000000..51920f1 Binary files /dev/null and b/screenshots/login.png differ diff --git a/screenshots/pricing.png b/screenshots/pricing.png new file mode 100644 index 0000000..bd6d0b0 Binary files /dev/null and b/screenshots/pricing.png differ diff --git a/screenshots/privacy.png b/screenshots/privacy.png new file mode 100644 index 0000000..c9a6eb8 Binary files /dev/null and b/screenshots/privacy.png differ diff --git a/screenshots/register.png b/screenshots/register.png new file mode 100644 index 0000000..83d7f8b Binary files /dev/null and b/screenshots/register.png differ diff --git a/src/TrueCV.Application/DTOs/CVCheckDto.cs b/src/RealCV.Application/DTOs/CVCheckDto.cs similarity index 91% rename from src/TrueCV.Application/DTOs/CVCheckDto.cs rename to src/RealCV.Application/DTOs/CVCheckDto.cs index da762e7..7973518 100644 --- a/src/TrueCV.Application/DTOs/CVCheckDto.cs +++ b/src/RealCV.Application/DTOs/CVCheckDto.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.DTOs; +namespace RealCV.Application.DTOs; public sealed record CVCheckDto { diff --git a/src/TrueCV.Application/DTOs/CompanySearchResult.cs b/src/RealCV.Application/DTOs/CompanySearchResult.cs similarity index 90% rename from src/TrueCV.Application/DTOs/CompanySearchResult.cs rename to src/RealCV.Application/DTOs/CompanySearchResult.cs index 1d6634f..74fe833 100644 --- a/src/TrueCV.Application/DTOs/CompanySearchResult.cs +++ b/src/RealCV.Application/DTOs/CompanySearchResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.DTOs; +namespace RealCV.Application.DTOs; public sealed record CompanySearchResult { diff --git a/src/TrueCV.Application/Data/DiplomaMills.cs b/src/RealCV.Application/Data/DiplomaMills.cs similarity index 99% rename from src/TrueCV.Application/Data/DiplomaMills.cs rename to src/RealCV.Application/Data/DiplomaMills.cs index e07d0a4..bb8de2e 100644 --- a/src/TrueCV.Application/Data/DiplomaMills.cs +++ b/src/RealCV.Application/Data/DiplomaMills.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Data; +namespace RealCV.Application.Data; /// /// Known diploma mills and fake educational institutions. diff --git a/src/TrueCV.Application/Data/UKInstitutions.cs b/src/RealCV.Application/Data/UKInstitutions.cs similarity index 99% rename from src/TrueCV.Application/Data/UKInstitutions.cs rename to src/RealCV.Application/Data/UKInstitutions.cs index dc88f0b..018e8f3 100644 --- a/src/TrueCV.Application/Data/UKInstitutions.cs +++ b/src/RealCV.Application/Data/UKInstitutions.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Data; +namespace RealCV.Application.Data; /// /// List of recognised UK higher education institutions. diff --git a/src/TrueCV.Application/Helpers/DateHelpers.cs b/src/RealCV.Application/Helpers/DateHelpers.cs similarity index 95% rename from src/TrueCV.Application/Helpers/DateHelpers.cs rename to src/RealCV.Application/Helpers/DateHelpers.cs index 22aa49c..6140cea 100644 --- a/src/TrueCV.Application/Helpers/DateHelpers.cs +++ b/src/RealCV.Application/Helpers/DateHelpers.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Helpers; +namespace RealCV.Application.Helpers; public static class DateHelpers { diff --git a/src/TrueCV.Application/Helpers/JsonDefaults.cs b/src/RealCV.Application/Helpers/JsonDefaults.cs similarity index 92% rename from src/TrueCV.Application/Helpers/JsonDefaults.cs rename to src/RealCV.Application/Helpers/JsonDefaults.cs index f6c7a93..5f11c4b 100644 --- a/src/TrueCV.Application/Helpers/JsonDefaults.cs +++ b/src/RealCV.Application/Helpers/JsonDefaults.cs @@ -1,6 +1,6 @@ using System.Text.Json; -namespace TrueCV.Application.Helpers; +namespace RealCV.Application.Helpers; public static class JsonDefaults { diff --git a/src/TrueCV.Application/Helpers/ScoreThresholds.cs b/src/RealCV.Application/Helpers/ScoreThresholds.cs similarity index 92% rename from src/TrueCV.Application/Helpers/ScoreThresholds.cs rename to src/RealCV.Application/Helpers/ScoreThresholds.cs index 439e3c4..7f5784b 100644 --- a/src/TrueCV.Application/Helpers/ScoreThresholds.cs +++ b/src/RealCV.Application/Helpers/ScoreThresholds.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Helpers; +namespace RealCV.Application.Helpers; public static class ScoreThresholds { diff --git a/src/TrueCV.Application/Interfaces/IAuditService.cs b/src/RealCV.Application/Interfaces/IAuditService.cs similarity index 94% rename from src/TrueCV.Application/Interfaces/IAuditService.cs rename to src/RealCV.Application/Interfaces/IAuditService.cs index 8f113e4..a5c4931 100644 --- a/src/TrueCV.Application/Interfaces/IAuditService.cs +++ b/src/RealCV.Application/Interfaces/IAuditService.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface IAuditService { diff --git a/src/TrueCV.Application/Interfaces/ICVCheckService.cs b/src/RealCV.Application/Interfaces/ICVCheckService.cs similarity index 79% rename from src/TrueCV.Application/Interfaces/ICVCheckService.cs rename to src/RealCV.Application/Interfaces/ICVCheckService.cs index 5121753..4308c39 100644 --- a/src/TrueCV.Application/Interfaces/ICVCheckService.cs +++ b/src/RealCV.Application/Interfaces/ICVCheckService.cs @@ -1,7 +1,7 @@ -using TrueCV.Application.DTOs; -using TrueCV.Application.Models; +using RealCV.Application.DTOs; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface ICVCheckService { diff --git a/src/TrueCV.Application/Interfaces/ICVParserService.cs b/src/RealCV.Application/Interfaces/ICVParserService.cs similarity index 67% rename from src/TrueCV.Application/Interfaces/ICVParserService.cs rename to src/RealCV.Application/Interfaces/ICVParserService.cs index bc5637a..d99612d 100644 --- a/src/TrueCV.Application/Interfaces/ICVParserService.cs +++ b/src/RealCV.Application/Interfaces/ICVParserService.cs @@ -1,6 +1,6 @@ -using TrueCV.Application.Models; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface ICVParserService { diff --git a/src/TrueCV.Application/Interfaces/ICompanyNameMatcherService.cs b/src/RealCV.Application/Interfaces/ICompanyNameMatcherService.cs similarity index 85% rename from src/TrueCV.Application/Interfaces/ICompanyNameMatcherService.cs rename to src/RealCV.Application/Interfaces/ICompanyNameMatcherService.cs index 67fed59..097f4e9 100644 --- a/src/TrueCV.Application/Interfaces/ICompanyNameMatcherService.cs +++ b/src/RealCV.Application/Interfaces/ICompanyNameMatcherService.cs @@ -1,6 +1,6 @@ -using TrueCV.Application.Models; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface ICompanyNameMatcherService { diff --git a/src/TrueCV.Application/Interfaces/ICompanyVerifierService.cs b/src/RealCV.Application/Interfaces/ICompanyVerifierService.cs similarity index 78% rename from src/TrueCV.Application/Interfaces/ICompanyVerifierService.cs rename to src/RealCV.Application/Interfaces/ICompanyVerifierService.cs index 138189c..65ca591 100644 --- a/src/TrueCV.Application/Interfaces/ICompanyVerifierService.cs +++ b/src/RealCV.Application/Interfaces/ICompanyVerifierService.cs @@ -1,7 +1,7 @@ -using TrueCV.Application.DTOs; -using TrueCV.Application.Models; +using RealCV.Application.DTOs; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface ICompanyVerifierService { diff --git a/src/TrueCV.Application/Interfaces/IEducationVerifierService.cs b/src/RealCV.Application/Interfaces/IEducationVerifierService.cs similarity index 85% rename from src/TrueCV.Application/Interfaces/IEducationVerifierService.cs rename to src/RealCV.Application/Interfaces/IEducationVerifierService.cs index 0620cc9..b57d21e 100644 --- a/src/TrueCV.Application/Interfaces/IEducationVerifierService.cs +++ b/src/RealCV.Application/Interfaces/IEducationVerifierService.cs @@ -1,6 +1,6 @@ -using TrueCV.Application.Models; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface IEducationVerifierService { diff --git a/src/TrueCV.Application/Interfaces/IFileStorageService.cs b/src/RealCV.Application/Interfaces/IFileStorageService.cs similarity index 82% rename from src/TrueCV.Application/Interfaces/IFileStorageService.cs rename to src/RealCV.Application/Interfaces/IFileStorageService.cs index 82df341..4c33962 100644 --- a/src/TrueCV.Application/Interfaces/IFileStorageService.cs +++ b/src/RealCV.Application/Interfaces/IFileStorageService.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface IFileStorageService { diff --git a/src/TrueCV.Application/Interfaces/ITimelineAnalyserService.cs b/src/RealCV.Application/Interfaces/ITimelineAnalyserService.cs similarity index 62% rename from src/TrueCV.Application/Interfaces/ITimelineAnalyserService.cs rename to src/RealCV.Application/Interfaces/ITimelineAnalyserService.cs index 95852a4..d07ffc1 100644 --- a/src/TrueCV.Application/Interfaces/ITimelineAnalyserService.cs +++ b/src/RealCV.Application/Interfaces/ITimelineAnalyserService.cs @@ -1,6 +1,6 @@ -using TrueCV.Application.Models; +using RealCV.Application.Models; -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface ITimelineAnalyserService { diff --git a/src/TrueCV.Application/Interfaces/IUserContextService.cs b/src/RealCV.Application/Interfaces/IUserContextService.cs similarity index 66% rename from src/TrueCV.Application/Interfaces/IUserContextService.cs rename to src/RealCV.Application/Interfaces/IUserContextService.cs index 863cdd8..d965460 100644 --- a/src/TrueCV.Application/Interfaces/IUserContextService.cs +++ b/src/RealCV.Application/Interfaces/IUserContextService.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Interfaces; +namespace RealCV.Application.Interfaces; public interface IUserContextService { diff --git a/src/TrueCV.Application/Models/CVData.cs b/src/RealCV.Application/Models/CVData.cs similarity index 90% rename from src/TrueCV.Application/Models/CVData.cs rename to src/RealCV.Application/Models/CVData.cs index 65d2447..2c5bb70 100644 --- a/src/TrueCV.Application/Models/CVData.cs +++ b/src/RealCV.Application/Models/CVData.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record CVData { diff --git a/src/TrueCV.Application/Models/CompanyVerificationResult.cs b/src/RealCV.Application/Models/CompanyVerificationResult.cs similarity index 97% rename from src/TrueCV.Application/Models/CompanyVerificationResult.cs rename to src/RealCV.Application/Models/CompanyVerificationResult.cs index 129a30f..dba58e4 100644 --- a/src/TrueCV.Application/Models/CompanyVerificationResult.cs +++ b/src/RealCV.Application/Models/CompanyVerificationResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record CompanyVerificationResult { diff --git a/src/TrueCV.Application/Models/EducationEntry.cs b/src/RealCV.Application/Models/EducationEntry.cs similarity index 89% rename from src/TrueCV.Application/Models/EducationEntry.cs rename to src/RealCV.Application/Models/EducationEntry.cs index 1f9fd5d..612209e 100644 --- a/src/TrueCV.Application/Models/EducationEntry.cs +++ b/src/RealCV.Application/Models/EducationEntry.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record EducationEntry { diff --git a/src/TrueCV.Application/Models/EducationVerificationResult.cs b/src/RealCV.Application/Models/EducationVerificationResult.cs similarity index 95% rename from src/TrueCV.Application/Models/EducationVerificationResult.cs rename to src/RealCV.Application/Models/EducationVerificationResult.cs index a4f8e3c..7e5acf8 100644 --- a/src/TrueCV.Application/Models/EducationVerificationResult.cs +++ b/src/RealCV.Application/Models/EducationVerificationResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record EducationVerificationResult { diff --git a/src/TrueCV.Application/Models/EmploymentEntry.cs b/src/RealCV.Application/Models/EmploymentEntry.cs similarity index 90% rename from src/TrueCV.Application/Models/EmploymentEntry.cs rename to src/RealCV.Application/Models/EmploymentEntry.cs index a261e08..c4ed289 100644 --- a/src/TrueCV.Application/Models/EmploymentEntry.cs +++ b/src/RealCV.Application/Models/EmploymentEntry.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record EmploymentEntry { diff --git a/src/TrueCV.Application/Models/FlagResult.cs b/src/RealCV.Application/Models/FlagResult.cs similarity index 88% rename from src/TrueCV.Application/Models/FlagResult.cs rename to src/RealCV.Application/Models/FlagResult.cs index 6b4dbb3..67c6a59 100644 --- a/src/TrueCV.Application/Models/FlagResult.cs +++ b/src/RealCV.Application/Models/FlagResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record FlagResult { diff --git a/src/TrueCV.Application/Models/SemanticMatchResult.cs b/src/RealCV.Application/Models/SemanticMatchResult.cs similarity index 96% rename from src/TrueCV.Application/Models/SemanticMatchResult.cs rename to src/RealCV.Application/Models/SemanticMatchResult.cs index dae6857..2610e16 100644 --- a/src/TrueCV.Application/Models/SemanticMatchResult.cs +++ b/src/RealCV.Application/Models/SemanticMatchResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public record SemanticMatchResult { diff --git a/src/TrueCV.Application/Models/TimelineAnalysisResult.cs b/src/RealCV.Application/Models/TimelineAnalysisResult.cs similarity index 88% rename from src/TrueCV.Application/Models/TimelineAnalysisResult.cs rename to src/RealCV.Application/Models/TimelineAnalysisResult.cs index e658ae3..4727566 100644 --- a/src/TrueCV.Application/Models/TimelineAnalysisResult.cs +++ b/src/RealCV.Application/Models/TimelineAnalysisResult.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record TimelineAnalysisResult { diff --git a/src/TrueCV.Application/Models/TimelineGap.cs b/src/RealCV.Application/Models/TimelineGap.cs similarity index 83% rename from src/TrueCV.Application/Models/TimelineGap.cs rename to src/RealCV.Application/Models/TimelineGap.cs index 1be5244..ec20ab1 100644 --- a/src/TrueCV.Application/Models/TimelineGap.cs +++ b/src/RealCV.Application/Models/TimelineGap.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record TimelineGap { diff --git a/src/TrueCV.Application/Models/TimelineOverlap.cs b/src/RealCV.Application/Models/TimelineOverlap.cs similarity index 89% rename from src/TrueCV.Application/Models/TimelineOverlap.cs rename to src/RealCV.Application/Models/TimelineOverlap.cs index 5a08f00..f7e8c0c 100644 --- a/src/TrueCV.Application/Models/TimelineOverlap.cs +++ b/src/RealCV.Application/Models/TimelineOverlap.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record TimelineOverlap { diff --git a/src/TrueCV.Application/Models/VeracityReport.cs b/src/RealCV.Application/Models/VeracityReport.cs similarity index 93% rename from src/TrueCV.Application/Models/VeracityReport.cs rename to src/RealCV.Application/Models/VeracityReport.cs index ce745ee..f1f329c 100644 --- a/src/TrueCV.Application/Models/VeracityReport.cs +++ b/src/RealCV.Application/Models/VeracityReport.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Application.Models; +namespace RealCV.Application.Models; public sealed record VeracityReport { diff --git a/src/TrueCV.Application/TrueCV.Application.csproj b/src/RealCV.Application/RealCV.Application.csproj similarity index 79% rename from src/TrueCV.Application/TrueCV.Application.csproj rename to src/RealCV.Application/RealCV.Application.csproj index b11888a..c2bc2bc 100644 --- a/src/TrueCV.Application/TrueCV.Application.csproj +++ b/src/RealCV.Application/RealCV.Application.csproj @@ -1,7 +1,7 @@  - + diff --git a/src/TrueCV.Domain/Entities/AuditLog.cs b/src/RealCV.Domain/Entities/AuditLog.cs similarity index 93% rename from src/TrueCV.Domain/Entities/AuditLog.cs rename to src/RealCV.Domain/Entities/AuditLog.cs index fd7de1f..1bd9c10 100644 --- a/src/TrueCV.Domain/Entities/AuditLog.cs +++ b/src/RealCV.Domain/Entities/AuditLog.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace TrueCV.Domain.Entities; +namespace RealCV.Domain.Entities; public class AuditLog { diff --git a/src/TrueCV.Domain/Entities/CVCheck.cs b/src/RealCV.Domain/Entities/CVCheck.cs similarity index 92% rename from src/TrueCV.Domain/Entities/CVCheck.cs rename to src/RealCV.Domain/Entities/CVCheck.cs index 500f68f..2db5dff 100644 --- a/src/TrueCV.Domain/Entities/CVCheck.cs +++ b/src/RealCV.Domain/Entities/CVCheck.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; -using TrueCV.Domain.Enums; +using RealCV.Domain.Enums; -namespace TrueCV.Domain.Entities; +namespace RealCV.Domain.Entities; public class CVCheck { diff --git a/src/TrueCV.Domain/Entities/CVFlag.cs b/src/RealCV.Domain/Entities/CVFlag.cs similarity index 91% rename from src/TrueCV.Domain/Entities/CVFlag.cs rename to src/RealCV.Domain/Entities/CVFlag.cs index eb18dcd..36230ba 100644 --- a/src/TrueCV.Domain/Entities/CVFlag.cs +++ b/src/RealCV.Domain/Entities/CVFlag.cs @@ -1,8 +1,8 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using TrueCV.Domain.Enums; +using RealCV.Domain.Enums; -namespace TrueCV.Domain.Entities; +namespace RealCV.Domain.Entities; public class CVFlag { diff --git a/src/TrueCV.Domain/Entities/CompanyCache.cs b/src/RealCV.Domain/Entities/CompanyCache.cs similarity index 95% rename from src/TrueCV.Domain/Entities/CompanyCache.cs rename to src/RealCV.Domain/Entities/CompanyCache.cs index 8db3c2d..1ed1661 100644 --- a/src/TrueCV.Domain/Entities/CompanyCache.cs +++ b/src/RealCV.Domain/Entities/CompanyCache.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace TrueCV.Domain.Entities; +namespace RealCV.Domain.Entities; public class CompanyCache { diff --git a/src/TrueCV.Domain/Enums/CheckStatus.cs b/src/RealCV.Domain/Enums/CheckStatus.cs similarity index 73% rename from src/TrueCV.Domain/Enums/CheckStatus.cs rename to src/RealCV.Domain/Enums/CheckStatus.cs index f23c003..7e07cdf 100644 --- a/src/TrueCV.Domain/Enums/CheckStatus.cs +++ b/src/RealCV.Domain/Enums/CheckStatus.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Domain.Enums; +namespace RealCV.Domain.Enums; public enum CheckStatus { diff --git a/src/TrueCV.Domain/Enums/FlagCategory.cs b/src/RealCV.Domain/Enums/FlagCategory.cs similarity index 74% rename from src/TrueCV.Domain/Enums/FlagCategory.cs rename to src/RealCV.Domain/Enums/FlagCategory.cs index 24d0bdb..6c71534 100644 --- a/src/TrueCV.Domain/Enums/FlagCategory.cs +++ b/src/RealCV.Domain/Enums/FlagCategory.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Domain.Enums; +namespace RealCV.Domain.Enums; public enum FlagCategory { diff --git a/src/TrueCV.Domain/Enums/FlagSeverity.cs b/src/RealCV.Domain/Enums/FlagSeverity.cs similarity index 68% rename from src/TrueCV.Domain/Enums/FlagSeverity.cs rename to src/RealCV.Domain/Enums/FlagSeverity.cs index 3cddfd7..54e3ffd 100644 --- a/src/TrueCV.Domain/Enums/FlagSeverity.cs +++ b/src/RealCV.Domain/Enums/FlagSeverity.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Domain.Enums; +namespace RealCV.Domain.Enums; public enum FlagSeverity { diff --git a/src/TrueCV.Domain/Enums/UserPlan.cs b/src/RealCV.Domain/Enums/UserPlan.cs similarity index 69% rename from src/TrueCV.Domain/Enums/UserPlan.cs rename to src/RealCV.Domain/Enums/UserPlan.cs index 461f14f..6217c93 100644 --- a/src/TrueCV.Domain/Enums/UserPlan.cs +++ b/src/RealCV.Domain/Enums/UserPlan.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Domain.Enums; +namespace RealCV.Domain.Enums; public enum UserPlan { diff --git a/src/TrueCV.Domain/TrueCV.Domain.csproj b/src/RealCV.Domain/RealCV.Domain.csproj similarity index 100% rename from src/TrueCV.Domain/TrueCV.Domain.csproj rename to src/RealCV.Domain/RealCV.Domain.csproj diff --git a/src/TrueCV.Infrastructure/Configuration/AnthropicSettings.cs b/src/RealCV.Infrastructure/Configuration/AnthropicSettings.cs similarity index 75% rename from src/TrueCV.Infrastructure/Configuration/AnthropicSettings.cs rename to src/RealCV.Infrastructure/Configuration/AnthropicSettings.cs index 6923021..61c5378 100644 --- a/src/TrueCV.Infrastructure/Configuration/AnthropicSettings.cs +++ b/src/RealCV.Infrastructure/Configuration/AnthropicSettings.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Infrastructure.Configuration; +namespace RealCV.Infrastructure.Configuration; public sealed class AnthropicSettings { diff --git a/src/TrueCV.Infrastructure/Configuration/AzureBlobSettings.cs b/src/RealCV.Infrastructure/Configuration/AzureBlobSettings.cs similarity index 81% rename from src/TrueCV.Infrastructure/Configuration/AzureBlobSettings.cs rename to src/RealCV.Infrastructure/Configuration/AzureBlobSettings.cs index 42e9c8a..32d49b5 100644 --- a/src/TrueCV.Infrastructure/Configuration/AzureBlobSettings.cs +++ b/src/RealCV.Infrastructure/Configuration/AzureBlobSettings.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Infrastructure.Configuration; +namespace RealCV.Infrastructure.Configuration; public sealed class AzureBlobSettings { diff --git a/src/TrueCV.Infrastructure/Configuration/CompaniesHouseSettings.cs b/src/RealCV.Infrastructure/Configuration/CompaniesHouseSettings.cs similarity index 81% rename from src/TrueCV.Infrastructure/Configuration/CompaniesHouseSettings.cs rename to src/RealCV.Infrastructure/Configuration/CompaniesHouseSettings.cs index 83a76fb..d4fa4a7 100644 --- a/src/TrueCV.Infrastructure/Configuration/CompaniesHouseSettings.cs +++ b/src/RealCV.Infrastructure/Configuration/CompaniesHouseSettings.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Infrastructure.Configuration; +namespace RealCV.Infrastructure.Configuration; public sealed class CompaniesHouseSettings { diff --git a/src/TrueCV.Infrastructure/Configuration/LocalStorageSettings.cs b/src/RealCV.Infrastructure/Configuration/LocalStorageSettings.cs similarity index 77% rename from src/TrueCV.Infrastructure/Configuration/LocalStorageSettings.cs rename to src/RealCV.Infrastructure/Configuration/LocalStorageSettings.cs index 7ab9685..8352312 100644 --- a/src/TrueCV.Infrastructure/Configuration/LocalStorageSettings.cs +++ b/src/RealCV.Infrastructure/Configuration/LocalStorageSettings.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Infrastructure.Configuration; +namespace RealCV.Infrastructure.Configuration; public sealed class LocalStorageSettings { diff --git a/src/TrueCV.Infrastructure/Data/ApplicationDbContext.cs b/src/RealCV.Infrastructure/Data/ApplicationDbContext.cs similarity index 97% rename from src/TrueCV.Infrastructure/Data/ApplicationDbContext.cs rename to src/RealCV.Infrastructure/Data/ApplicationDbContext.cs index 2c3230e..b430b01 100644 --- a/src/TrueCV.Infrastructure/Data/ApplicationDbContext.cs +++ b/src/RealCV.Infrastructure/Data/ApplicationDbContext.cs @@ -1,10 +1,10 @@ using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; -using TrueCV.Domain.Entities; -using TrueCV.Infrastructure.Identity; +using RealCV.Domain.Entities; +using RealCV.Infrastructure.Identity; -namespace TrueCV.Infrastructure.Data; +namespace RealCV.Infrastructure.Data; public class ApplicationDbContext : IdentityDbContext, Guid> { diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs b/src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs similarity index 93% rename from src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs index b239760..8d033cd 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.Designer.cs @@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using TrueCV.Infrastructure.Data; +using RealCV.Infrastructure.Data; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260118182916_InitialCreate")] @@ -156,7 +156,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AspNetUserTokens", (string)null); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -211,7 +211,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVChecks"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -251,7 +251,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVFlags"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CompanyCache", b => + modelBuilder.Entity("RealCV.Domain.Entities.CompanyCache", b => { b.Property("CompanyNumber") .HasMaxLength(32) @@ -281,7 +281,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CompanyCache"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.User", b => + modelBuilder.Entity("RealCV.Domain.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -307,7 +307,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("User"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -396,7 +396,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -405,7 +405,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -420,7 +420,7 @@ namespace TrueCV.Infrastructure.Data.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -429,29 +429,29 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany("CVChecks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("TrueCV.Domain.Entities.User", null) + b.HasOne("RealCV.Domain.Entities.User", null) .WithMany("CVChecks") .HasForeignKey("UserId1"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { - b.HasOne("TrueCV.Domain.Entities.CVCheck", "CVCheck") + b.HasOne("RealCV.Domain.Entities.CVCheck", "CVCheck") .WithMany("Flags") .HasForeignKey("CVCheckId") .OnDelete(DeleteBehavior.Cascade) @@ -460,17 +460,17 @@ namespace TrueCV.Infrastructure.Data.Migrations b.Navigation("CVCheck"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Navigation("Flags"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.User", b => + modelBuilder.Entity("RealCV.Domain.Entities.User", b => { b.Navigation("CVChecks"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Navigation("CVChecks"); }); diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs b/src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs similarity index 99% rename from src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs index 2e0ad31..0eac65b 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260118182916_InitialCreate.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { /// public partial class InitialCreate : Migration diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs b/src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs similarity index 94% rename from src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs index f0a3a79..104c677 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.Designer.cs @@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using TrueCV.Infrastructure.Data; +using RealCV.Infrastructure.Data; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260120191035_AddProcessingStageToCV")] @@ -156,7 +156,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AspNetUserTokens", (string)null); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -210,7 +210,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVChecks"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -250,7 +250,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVFlags"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CompanyCache", b => + modelBuilder.Entity("RealCV.Domain.Entities.CompanyCache", b => { b.Property("CompanyNumber") .HasMaxLength(32) @@ -292,7 +292,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CompanyCache"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -381,7 +381,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -390,7 +390,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -405,7 +405,7 @@ namespace TrueCV.Infrastructure.Data.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -414,25 +414,25 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany("CVChecks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { - b.HasOne("TrueCV.Domain.Entities.CVCheck", "CVCheck") + b.HasOne("RealCV.Domain.Entities.CVCheck", "CVCheck") .WithMany("Flags") .HasForeignKey("CVCheckId") .OnDelete(DeleteBehavior.Cascade) @@ -441,12 +441,12 @@ namespace TrueCV.Infrastructure.Data.Migrations b.Navigation("CVCheck"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Navigation("Flags"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Navigation("CVChecks"); }); diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs b/src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs similarity index 98% rename from src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs index 38e8b9e..b3c0379 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260120191035_AddProcessingStageToCV.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { /// public partial class AddProcessingStageToCV : Migration diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs b/src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs similarity index 94% rename from src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs index 306cf79..868e9cf 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.Designer.cs @@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using TrueCV.Infrastructure.Data; +using RealCV.Infrastructure.Data; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260120194532_AddAuditLogTable")] @@ -156,7 +156,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AspNetUserTokens", (string)null); }); - modelBuilder.Entity("TrueCV.Domain.Entities.AuditLog", b => + modelBuilder.Entity("RealCV.Domain.Entities.AuditLog", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -202,7 +202,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AuditLogs"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -256,7 +256,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVChecks"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -296,7 +296,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVFlags"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CompanyCache", b => + modelBuilder.Entity("RealCV.Domain.Entities.CompanyCache", b => { b.Property("CompanyNumber") .HasMaxLength(32) @@ -338,7 +338,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CompanyCache"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -427,7 +427,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -436,7 +436,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -451,7 +451,7 @@ namespace TrueCV.Infrastructure.Data.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -460,25 +460,25 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany("CVChecks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { - b.HasOne("TrueCV.Domain.Entities.CVCheck", "CVCheck") + b.HasOne("RealCV.Domain.Entities.CVCheck", "CVCheck") .WithMany("Flags") .HasForeignKey("CVCheckId") .OnDelete(DeleteBehavior.Cascade) @@ -487,12 +487,12 @@ namespace TrueCV.Infrastructure.Data.Migrations b.Navigation("CVCheck"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Navigation("Flags"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Navigation("CVChecks"); }); diff --git a/src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs b/src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs similarity index 97% rename from src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs rename to src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs index 115e53b..6383596 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/20260120194532_AddAuditLogTable.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { /// public partial class AddAuditLogTable : Migration diff --git a/src/TrueCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs b/src/RealCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs similarity index 94% rename from src/TrueCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs rename to src/RealCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs index 47c6c2d..c2b4df7 100644 --- a/src/TrueCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/RealCV.Infrastructure/Data/Migrations/ApplicationDbContextModelSnapshot.cs @@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using TrueCV.Infrastructure.Data; +using RealCV.Infrastructure.Data; #nullable disable -namespace TrueCV.Infrastructure.Data.Migrations +namespace RealCV.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] partial class ApplicationDbContextModelSnapshot : ModelSnapshot @@ -153,7 +153,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AspNetUserTokens", (string)null); }); - modelBuilder.Entity("TrueCV.Domain.Entities.AuditLog", b => + modelBuilder.Entity("RealCV.Domain.Entities.AuditLog", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -199,7 +199,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("AuditLogs"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -253,7 +253,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVChecks"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -293,7 +293,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CVFlags"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CompanyCache", b => + modelBuilder.Entity("RealCV.Domain.Entities.CompanyCache", b => { b.Property("CompanyNumber") .HasMaxLength(32) @@ -335,7 +335,7 @@ namespace TrueCV.Infrastructure.Data.Migrations b.ToTable("CompanyCache"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -424,7 +424,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -433,7 +433,7 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -448,7 +448,7 @@ namespace TrueCV.Infrastructure.Data.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -457,25 +457,25 @@ namespace TrueCV.Infrastructure.Data.Migrations modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { - b.HasOne("TrueCV.Infrastructure.Identity.ApplicationUser", null) + b.HasOne("RealCV.Infrastructure.Identity.ApplicationUser", null) .WithMany("CVChecks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVFlag", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVFlag", b => { - b.HasOne("TrueCV.Domain.Entities.CVCheck", "CVCheck") + b.HasOne("RealCV.Domain.Entities.CVCheck", "CVCheck") .WithMany("Flags") .HasForeignKey("CVCheckId") .OnDelete(DeleteBehavior.Cascade) @@ -484,12 +484,12 @@ namespace TrueCV.Infrastructure.Data.Migrations b.Navigation("CVCheck"); }); - modelBuilder.Entity("TrueCV.Domain.Entities.CVCheck", b => + modelBuilder.Entity("RealCV.Domain.Entities.CVCheck", b => { b.Navigation("Flags"); }); - modelBuilder.Entity("TrueCV.Infrastructure.Identity.ApplicationUser", b => + modelBuilder.Entity("RealCV.Infrastructure.Identity.ApplicationUser", b => { b.Navigation("CVChecks"); }); diff --git a/src/TrueCV.Infrastructure/DependencyInjection.cs b/src/RealCV.Infrastructure/DependencyInjection.cs similarity index 95% rename from src/TrueCV.Infrastructure/DependencyInjection.cs rename to src/RealCV.Infrastructure/DependencyInjection.cs index 3eda6d0..e20020a 100644 --- a/src/TrueCV.Infrastructure/DependencyInjection.cs +++ b/src/RealCV.Infrastructure/DependencyInjection.cs @@ -5,14 +5,14 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Polly; using Polly.Extensions.Http; -using TrueCV.Application.Interfaces; -using TrueCV.Infrastructure.Configuration; -using TrueCV.Infrastructure.Data; -using TrueCV.Infrastructure.ExternalApis; -using TrueCV.Infrastructure.Jobs; -using TrueCV.Infrastructure.Services; +using RealCV.Application.Interfaces; +using RealCV.Infrastructure.Configuration; +using RealCV.Infrastructure.Data; +using RealCV.Infrastructure.ExternalApis; +using RealCV.Infrastructure.Jobs; +using RealCV.Infrastructure.Services; -namespace TrueCV.Infrastructure; +namespace RealCV.Infrastructure; public static class DependencyInjection { diff --git a/src/TrueCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs b/src/RealCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs similarity index 98% rename from src/TrueCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs rename to src/RealCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs index ddff207..49c3c78 100644 --- a/src/TrueCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs +++ b/src/RealCV.Infrastructure/ExternalApis/CompaniesHouseClient.cs @@ -6,10 +6,10 @@ using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using TrueCV.Application.DTOs; -using TrueCV.Infrastructure.Configuration; +using RealCV.Application.DTOs; +using RealCV.Infrastructure.Configuration; -namespace TrueCV.Infrastructure.ExternalApis; +namespace RealCV.Infrastructure.ExternalApis; public sealed class CompaniesHouseClient { diff --git a/src/TrueCV.Infrastructure/Helpers/JsonResponseHelper.cs b/src/RealCV.Infrastructure/Helpers/JsonResponseHelper.cs similarity index 94% rename from src/TrueCV.Infrastructure/Helpers/JsonResponseHelper.cs rename to src/RealCV.Infrastructure/Helpers/JsonResponseHelper.cs index 8329068..21d1654 100644 --- a/src/TrueCV.Infrastructure/Helpers/JsonResponseHelper.cs +++ b/src/RealCV.Infrastructure/Helpers/JsonResponseHelper.cs @@ -1,4 +1,4 @@ -namespace TrueCV.Infrastructure.Helpers; +namespace RealCV.Infrastructure.Helpers; /// /// Helper methods for processing AI/LLM JSON responses. diff --git a/src/TrueCV.Infrastructure/Identity/ApplicationUser.cs b/src/RealCV.Infrastructure/Identity/ApplicationUser.cs similarity index 75% rename from src/TrueCV.Infrastructure/Identity/ApplicationUser.cs rename to src/RealCV.Infrastructure/Identity/ApplicationUser.cs index 2a3a2ca..96754da 100644 --- a/src/TrueCV.Infrastructure/Identity/ApplicationUser.cs +++ b/src/RealCV.Infrastructure/Identity/ApplicationUser.cs @@ -1,8 +1,8 @@ using Microsoft.AspNetCore.Identity; -using TrueCV.Domain.Entities; -using TrueCV.Domain.Enums; +using RealCV.Domain.Entities; +using RealCV.Domain.Enums; -namespace TrueCV.Infrastructure.Identity; +namespace RealCV.Infrastructure.Identity; public class ApplicationUser : IdentityUser { diff --git a/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs b/src/RealCV.Infrastructure/Jobs/ProcessCVCheckJob.cs similarity index 99% rename from src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs rename to src/RealCV.Infrastructure/Jobs/ProcessCVCheckJob.cs index b70bd8f..ee8efe0 100644 --- a/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs +++ b/src/RealCV.Infrastructure/Jobs/ProcessCVCheckJob.cs @@ -1,14 +1,14 @@ using System.Text.Json; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; -using TrueCV.Application.Helpers; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; -using TrueCV.Domain.Entities; -using TrueCV.Domain.Enums; -using TrueCV.Infrastructure.Data; +using RealCV.Application.Helpers; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; +using RealCV.Domain.Entities; +using RealCV.Domain.Enums; +using RealCV.Infrastructure.Data; -namespace TrueCV.Infrastructure.Jobs; +namespace RealCV.Infrastructure.Jobs; public sealed class ProcessCVCheckJob { diff --git a/src/TrueCV.Infrastructure/TrueCV.Infrastructure.csproj b/src/RealCV.Infrastructure/RealCV.Infrastructure.csproj similarity index 95% rename from src/TrueCV.Infrastructure/TrueCV.Infrastructure.csproj rename to src/RealCV.Infrastructure/RealCV.Infrastructure.csproj index 190b72e..9114d83 100644 --- a/src/TrueCV.Infrastructure/TrueCV.Infrastructure.csproj +++ b/src/RealCV.Infrastructure/RealCV.Infrastructure.csproj @@ -1,7 +1,7 @@  - + diff --git a/src/TrueCV.Infrastructure/Services/AICompanyNameMatcherService.cs b/src/RealCV.Infrastructure/Services/AICompanyNameMatcherService.cs similarity index 96% rename from src/TrueCV.Infrastructure/Services/AICompanyNameMatcherService.cs rename to src/RealCV.Infrastructure/Services/AICompanyNameMatcherService.cs index 60d56cf..ea8c506 100644 --- a/src/TrueCV.Infrastructure/Services/AICompanyNameMatcherService.cs +++ b/src/RealCV.Infrastructure/Services/AICompanyNameMatcherService.cs @@ -3,13 +3,13 @@ using Anthropic.SDK; using Anthropic.SDK.Messaging; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using TrueCV.Application.Helpers; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; -using TrueCV.Infrastructure.Configuration; -using TrueCV.Infrastructure.Helpers; +using RealCV.Application.Helpers; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; +using RealCV.Infrastructure.Configuration; +using RealCV.Infrastructure.Helpers; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class AICompanyNameMatcherService : ICompanyNameMatcherService { diff --git a/src/TrueCV.Infrastructure/Services/AuditService.cs b/src/RealCV.Infrastructure/Services/AuditService.cs similarity index 90% rename from src/TrueCV.Infrastructure/Services/AuditService.cs rename to src/RealCV.Infrastructure/Services/AuditService.cs index 2199281..edf9eeb 100644 --- a/src/TrueCV.Infrastructure/Services/AuditService.cs +++ b/src/RealCV.Infrastructure/Services/AuditService.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.Logging; -using TrueCV.Application.Interfaces; -using TrueCV.Domain.Entities; -using TrueCV.Infrastructure.Data; +using RealCV.Application.Interfaces; +using RealCV.Domain.Entities; +using RealCV.Infrastructure.Data; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class AuditService : IAuditService { diff --git a/src/TrueCV.Infrastructure/Services/CVCheckService.cs b/src/RealCV.Infrastructure/Services/CVCheckService.cs similarity index 95% rename from src/TrueCV.Infrastructure/Services/CVCheckService.cs rename to src/RealCV.Infrastructure/Services/CVCheckService.cs index d99d1bc..25a865a 100644 --- a/src/TrueCV.Infrastructure/Services/CVCheckService.cs +++ b/src/RealCV.Infrastructure/Services/CVCheckService.cs @@ -2,16 +2,16 @@ using System.Text.Json; using Hangfire; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; -using TrueCV.Application.DTOs; -using TrueCV.Application.Helpers; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; -using TrueCV.Domain.Entities; -using TrueCV.Domain.Enums; -using TrueCV.Infrastructure.Data; -using TrueCV.Infrastructure.Jobs; +using RealCV.Application.DTOs; +using RealCV.Application.Helpers; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; +using RealCV.Domain.Entities; +using RealCV.Domain.Enums; +using RealCV.Infrastructure.Data; +using RealCV.Infrastructure.Jobs; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class CVCheckService : ICVCheckService { diff --git a/src/TrueCV.Infrastructure/Services/CVParserService.cs b/src/RealCV.Infrastructure/Services/CVParserService.cs similarity index 66% rename from src/TrueCV.Infrastructure/Services/CVParserService.cs rename to src/RealCV.Infrastructure/Services/CVParserService.cs index 7c2634a..06fbb2e 100644 --- a/src/TrueCV.Infrastructure/Services/CVParserService.cs +++ b/src/RealCV.Infrastructure/Services/CVParserService.cs @@ -1,19 +1,20 @@ using System.Text; using System.Text.Json; +using System.Text.Json.Serialization; using Anthropic.SDK; using Anthropic.SDK.Messaging; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using TrueCV.Application.Helpers; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; -using TrueCV.Infrastructure.Configuration; -using TrueCV.Infrastructure.Helpers; +using RealCV.Application.Helpers; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; +using RealCV.Infrastructure.Configuration; +using RealCV.Infrastructure.Helpers; using UglyToad.PdfPig; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class CVParserService : ICVParserService { @@ -83,6 +84,20 @@ public sealed class CVParserService : ICVParserService _logger.LogDebug("Parsing CV file: {FileName}", fileName); + var extension = Path.GetExtension(fileName).ToLowerInvariant(); + + // Handle JSON files directly (debug/test format) + if (extension == ".json") + { + var cvData = await ParseJsonFileAsync(fileStream, cancellationToken); + _logger.LogInformation( + "Successfully loaded JSON CV for {FullName} with {EmploymentCount} employment entries and {EducationCount} education entries", + cvData.FullName, + cvData.Employment.Count, + cvData.Education.Count); + return cvData; + } + var text = await ExtractTextAsync(fileStream, fileName, cancellationToken); if (string.IsNullOrWhiteSpace(text)) @@ -93,15 +108,15 @@ public sealed class CVParserService : ICVParserService _logger.LogDebug("Extracted {CharCount} characters from {FileName}", text.Length, fileName); - var cvData = await ParseWithClaudeAsync(text, cancellationToken); + var cvDataFromAI = await ParseWithClaudeAsync(text, cancellationToken); _logger.LogInformation( "Successfully parsed CV for {FullName} with {EmploymentCount} employment entries and {EducationCount} education entries", - cvData.FullName, - cvData.Employment.Count, - cvData.Education.Count); + cvDataFromAI.FullName, + cvDataFromAI.Employment.Count, + cvDataFromAI.Education.Count); - return cvData; + return cvDataFromAI; } private async Task ExtractTextAsync(Stream fileStream, string fileName, CancellationToken cancellationToken) @@ -116,6 +131,60 @@ public sealed class CVParserService : ICVParserService }; } + private async Task ParseJsonFileAsync(Stream fileStream, CancellationToken cancellationToken) + { + var testCv = await JsonSerializer.DeserializeAsync(fileStream, TestJsonOptions, cancellationToken) + ?? throw new InvalidOperationException("Failed to deserialize JSON CV file"); + + return new CVData + { + FullName = testCv.Personal?.Name ?? "Unknown", + Email = testCv.Personal?.Email, + Phone = testCv.Personal?.Phone, + Employment = testCv.Employment?.Select(e => new EmploymentEntry + { + CompanyName = e.Company ?? "Unknown", + JobTitle = e.JobTitle ?? "Unknown", + Location = e.Location, + StartDate = ParseTestDate(e.StartDate), + EndDate = ParseTestDate(e.EndDate), + IsCurrent = e.EndDate == null, + Description = e.Description + }).ToList() ?? [], + Education = testCv.Education?.Select(e => new EducationEntry + { + Institution = e.Institution ?? "Unknown", + Qualification = e.Qualification, + Subject = e.Subject, + StartDate = ParseTestDate(e.StartDate), + EndDate = ParseTestDate(e.EndDate) + }).ToList() ?? [], + Skills = testCv.Skills ?? [] + }; + } + + private static DateOnly? ParseTestDate(string? dateStr) + { + if (string.IsNullOrEmpty(dateStr)) return null; + + // Try parsing YYYY-MM format + if (dateStr.Length == 7 && dateStr[4] == '-') + { + if (int.TryParse(dateStr[..4], out var year) && int.TryParse(dateStr[5..], out var month)) + { + return new DateOnly(year, month, 1); + } + } + + // Try standard parsing + if (DateOnly.TryParse(dateStr, out var date)) + { + return date; + } + + return null; + } + private async Task ExtractTextFromPdfAsync(Stream fileStream, CancellationToken cancellationToken) { // Copy stream to memory for PdfPig (requires seekable stream) @@ -244,6 +313,57 @@ public sealed class CVParserService : ICVParserService }; } + // JSON options for test/debug CV format (snake_case) + private static readonly JsonSerializerOptions TestJsonOptions = new() + { + PropertyNameCaseInsensitive = true, + PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower, + Converters = { new JsonStringEnumConverter() } + }; + + // DTOs for test JSON format (snake_case with nested personal object) + private sealed record TestCVData + { + public string? CvId { get; init; } + public string? Category { get; init; } + public List? ExpectedFlags { get; init; } + public TestPersonalData? Personal { get; init; } + public string? Profile { get; init; } + public List? Employment { get; init; } + public List? Education { get; init; } + public List? Skills { get; init; } + } + + private sealed record TestPersonalData + { + public string? Name { get; init; } + public string? Email { get; init; } + public string? Phone { get; init; } + public string? Address { get; init; } + public string? LinkedIn { get; init; } + } + + private sealed record TestEmploymentEntry + { + public string? Company { get; init; } + public string? JobTitle { get; init; } + public string? StartDate { get; init; } + public string? EndDate { get; init; } + public string? Location { get; init; } + public string? Description { get; init; } + public List? Achievements { get; init; } + } + + private sealed record TestEducationEntry + { + public string? Institution { get; init; } + public string? Qualification { get; init; } + public string? Subject { get; init; } + public string? Classification { get; init; } + public string? StartDate { get; init; } + public string? EndDate { get; init; } + } + // Internal DTOs for Claude response parsing private sealed record ClaudeCVResponse { diff --git a/src/TrueCV.Infrastructure/Services/CompanyVerifierService.cs b/src/RealCV.Infrastructure/Services/CompanyVerifierService.cs similarity index 99% rename from src/TrueCV.Infrastructure/Services/CompanyVerifierService.cs rename to src/RealCV.Infrastructure/Services/CompanyVerifierService.cs index 60f1166..5206b4c 100644 --- a/src/TrueCV.Infrastructure/Services/CompanyVerifierService.cs +++ b/src/RealCV.Infrastructure/Services/CompanyVerifierService.cs @@ -2,15 +2,15 @@ using System.Text.Json; using FuzzySharp; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; -using TrueCV.Application.DTOs; -using TrueCV.Application.Helpers; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; -using TrueCV.Domain.Entities; -using TrueCV.Infrastructure.Data; -using TrueCV.Infrastructure.ExternalApis; +using RealCV.Application.DTOs; +using RealCV.Application.Helpers; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; +using RealCV.Domain.Entities; +using RealCV.Infrastructure.Data; +using RealCV.Infrastructure.ExternalApis; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class CompanyVerifierService : ICompanyVerifierService { diff --git a/src/TrueCV.Infrastructure/Services/EducationVerifierService.cs b/src/RealCV.Infrastructure/Services/EducationVerifierService.cs similarity index 98% rename from src/TrueCV.Infrastructure/Services/EducationVerifierService.cs rename to src/RealCV.Infrastructure/Services/EducationVerifierService.cs index ec3c6da..26be4ba 100644 --- a/src/TrueCV.Infrastructure/Services/EducationVerifierService.cs +++ b/src/RealCV.Infrastructure/Services/EducationVerifierService.cs @@ -1,8 +1,8 @@ -using TrueCV.Application.Data; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; +using RealCV.Application.Data; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class EducationVerifierService : IEducationVerifierService { diff --git a/src/TrueCV.Infrastructure/Services/FileStorageService.cs b/src/RealCV.Infrastructure/Services/FileStorageService.cs similarity index 97% rename from src/TrueCV.Infrastructure/Services/FileStorageService.cs rename to src/RealCV.Infrastructure/Services/FileStorageService.cs index 048de4b..91972ba 100644 --- a/src/TrueCV.Infrastructure/Services/FileStorageService.cs +++ b/src/RealCV.Infrastructure/Services/FileStorageService.cs @@ -2,10 +2,10 @@ using Azure.Storage.Blobs; using Azure.Storage.Blobs.Models; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using TrueCV.Application.Interfaces; -using TrueCV.Infrastructure.Configuration; +using RealCV.Application.Interfaces; +using RealCV.Infrastructure.Configuration; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class FileStorageService : IFileStorageService { diff --git a/src/TrueCV.Infrastructure/Services/LocalFileStorageService.cs b/src/RealCV.Infrastructure/Services/LocalFileStorageService.cs similarity index 96% rename from src/TrueCV.Infrastructure/Services/LocalFileStorageService.cs rename to src/RealCV.Infrastructure/Services/LocalFileStorageService.cs index ed55265..89ebaa5 100644 --- a/src/TrueCV.Infrastructure/Services/LocalFileStorageService.cs +++ b/src/RealCV.Infrastructure/Services/LocalFileStorageService.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using TrueCV.Application.Interfaces; -using TrueCV.Infrastructure.Configuration; +using RealCV.Application.Interfaces; +using RealCV.Infrastructure.Configuration; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class LocalFileStorageService : IFileStorageService { diff --git a/src/TrueCV.Infrastructure/Services/TimelineAnalyserService.cs b/src/RealCV.Infrastructure/Services/TimelineAnalyserService.cs similarity index 98% rename from src/TrueCV.Infrastructure/Services/TimelineAnalyserService.cs rename to src/RealCV.Infrastructure/Services/TimelineAnalyserService.cs index 439408c..7482c1a 100644 --- a/src/TrueCV.Infrastructure/Services/TimelineAnalyserService.cs +++ b/src/RealCV.Infrastructure/Services/TimelineAnalyserService.cs @@ -1,8 +1,8 @@ using Microsoft.Extensions.Logging; -using TrueCV.Application.Interfaces; -using TrueCV.Application.Models; +using RealCV.Application.Interfaces; +using RealCV.Application.Models; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class TimelineAnalyserService : ITimelineAnalyserService { diff --git a/src/TrueCV.Infrastructure/Services/UserContextService.cs b/src/RealCV.Infrastructure/Services/UserContextService.cs similarity index 91% rename from src/TrueCV.Infrastructure/Services/UserContextService.cs rename to src/RealCV.Infrastructure/Services/UserContextService.cs index 79c90ee..279fcca 100644 --- a/src/TrueCV.Infrastructure/Services/UserContextService.cs +++ b/src/RealCV.Infrastructure/Services/UserContextService.cs @@ -1,8 +1,8 @@ using System.Security.Claims; using Microsoft.AspNetCore.Components.Authorization; -using TrueCV.Application.Interfaces; +using RealCV.Application.Interfaces; -namespace TrueCV.Infrastructure.Services; +namespace RealCV.Infrastructure.Services; public sealed class UserContextService : IUserContextService { diff --git a/src/TrueCV.Web/Components/App.razor b/src/RealCV.Web/Components/App.razor similarity index 90% rename from src/TrueCV.Web/Components/App.razor rename to src/RealCV.Web/Components/App.razor index f412766..848bd30 100644 --- a/src/TrueCV.Web/Components/App.razor +++ b/src/RealCV.Web/Components/App.razor @@ -7,7 +7,7 @@ - + diff --git a/src/TrueCV.Web/Components/Layout/MainLayout.razor b/src/RealCV.Web/Components/Layout/MainLayout.razor similarity index 97% rename from src/TrueCV.Web/Components/Layout/MainLayout.razor rename to src/RealCV.Web/Components/Layout/MainLayout.razor index 12a1225..41ae585 100644 --- a/src/TrueCV.Web/Components/Layout/MainLayout.razor +++ b/src/RealCV.Web/Components/Layout/MainLayout.razor @@ -4,7 +4,7 @@