using System.ComponentModel.DataAnnotations;
using RealCV.Domain.Enums;

namespace RealCV.Domain.Entities;

public class CVCheck
{
    [Key]
    public Guid Id { get; set; }

    public Guid UserId { get; set; }

    [Required]
    [MaxLength(512)]
    public string OriginalFileName { get; set; } = string.Empty;

    [Required]
    [MaxLength(2048)]
    public string BlobUrl { get; set; } = string.Empty;

    public CheckStatus Status { get; set; }

    public string? ExtractedDataJson { get; set; }

    public int? VeracityScore { get; set; }

    [MaxLength(64)]
    public string? ProcessingStage { get; set; }

    public string? ReportJson { get; set; }

    public DateTime CreatedAt { get; set; }

    public DateTime? CompletedAt { get; set; }

    public ICollection<CVFlag> Flags { get; set; } = new List<CVFlag>();
}
