This commit is contained in:
2026-05-06 12:19:31 +03:00
parent 17266730fc
commit 89cb5a10da
34 changed files with 198 additions and 226 deletions
@@ -0,0 +1,14 @@
namespace Api.Models.Responses
{
public sealed class CvUploadResponse
{
public required string DocumentId { get; init; }
public required string TextHash { get; init; }
public required string DocumentType { get; init; }
public required string Title { get; init; }
public int Chunks { get; init; }
public int Characters { get; init; }
public bool Cached { get; init; }
public string Summary { get; init; } = "CV indexed successfully.";
}
}
@@ -0,0 +1,8 @@
namespace Api.Models.Responses
{
public sealed class FindJobsResponse
{
public required string CvDocumentId { get; init; }
public IReadOnlyList<JobMatchResponse> Jobs { get; init; } = [];
}
}
@@ -0,0 +1,15 @@
namespace Api.Models.Responses
{
public sealed class JobMatchResponse
{
public int Score { get; set; }
public string Summary { get; set; } = string.Empty;
public List<string> Strengths { get; set; } = [];
public List<string> Gaps { get; set; } = [];
public List<string> Recommendations { get; set; } = [];
public List<string> Evidence { get; set; } = [];
public bool Cached { get; set; }
public string? JobDocumentId { get; set; }
public string? JobUrl { get; set; }
}
}
@@ -0,0 +1,14 @@
namespace Api.Models.Responses
{
public sealed class RagIndexResponse
{
public required string DocumentId { get; init; }
public required string TextHash { get; init; }
public required string DocumentType { get; init; }
public double DocumentTypeConfidence { get; init; }
public required string Title { get; init; }
public int Chunks { get; init; }
public int Characters { get; init; }
public bool Cached { get; init; }
}
}
@@ -0,0 +1,34 @@
namespace Api.Models.Responses
{
public sealed class RagSearchResponse
{
public IReadOnlyList<RagSearchDocumentResult> Results { get; init; } = [];
}
public sealed class RagDocumentDetails
{
public required string Id { get; init; }
public required string DocumentType { get; init; }
public required string Title { get; init; }
public string? SourceUrl { get; init; }
public required string Text { get; init; }
public required string TextHash { get; init; }
}
public sealed class RagSearchDocumentResult
{
public required string DocumentId { get; init; }
public required string DocumentType { get; init; }
public required string Title { get; init; }
public string? SourceUrl { get; init; }
public double Score { get; init; }
public IReadOnlyList<RagSearchChunkResult> MatchedChunks { get; init; } = [];
}
public sealed class RagSearchChunkResult
{
public required string ChunkId { get; init; }
public int ChunkIndex { get; init; }
public required string Text { get; init; }
public double Score { get; init; }
}
}