/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Infrastructure/Persistence/Entities/DocumentJobEntities.cs
86 строк
2 KB
IBS\NAfanasev
Full async product flow
01 июл 2026, 17:49
01 июл 2026, 17:49
d25833e
Код
Авторство
О чём код?
using PdfEncoder.Domain.Enums; using PdfEncoder.Domain.Models; namespace PdfEncoder.Infrastructure.Persistence.Entities; /// <summary> /// EF entity document job. /// </summary> public sealed class DocumentJobEntity { public Guid Id { get; set; } public string ContentHash { get; set; } = string.Empty; public string OriginalFileName { get; set; } = string.Empty; public long FileSizeBytes { get; set; } public DocumentJobStatus Status { get; set; } public PdfDocumentKind? PdfKind { get; set; } public string DocumentType { get; set; } = "auto"; public string Language { get; set; } = "ru"; public DateTime CreatedAt { get; set; } public DateTime? StartedAt { get; set; } public DateTime? CompletedAt { get; set; } public string? ErrorCode { get; set; } public string? ErrorMessage { get; set; } public ParseResultEntity? ParseResult { get; set; } public ICollection<LlmUsageLogEntity> LlmUsageLogs { get; set; } = []; } /// <summary> /// EF entity parse result. /// </summary> public sealed class ParseResultEntity { public Guid Id { get; set; } public Guid DocumentJobId { get; set; } public GenericParseResult ResultJson { get; set; } = null!; public DocumentContext RawContextJson { get; set; } = null!; public string DetectedDocumentType { get; set; } = "unknown"; public double OverallConfidence { get; set; } public DateTime CreatedAt { get; set; } public DocumentJobEntity DocumentJob { get; set; } = null!; } /// <summary> /// EF entity LLM usage log. /// </summary> public sealed class LlmUsageLogEntity { public Guid Id { get; set; } public Guid DocumentJobId { get; set; } public string StepName { get; set; } = string.Empty; public string ModelName { get; set; } = string.Empty; public int PromptTokens { get; set; } public int CompletionTokens { get; set; } public int LatencyMs { get; set; } public DateTime CreatedAt { get; set; } public DocumentJobEntity DocumentJob { get; set; } = null!; }