using System.ComponentModel.DataAnnotations.Schema; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; namespace Marco.Pms.Model.DocumentManager { public class Document : TenantRelation { public Guid Id { get; set; } public Guid? BatchId { get; set; } public string FileName { get; set; } = string.Empty; /// /// Full S3 object key /// public string S3Key { get; set; } = string.Empty; /// /// S3 key for thumbnail image /// public string? ThumbS3Key { get; set; } public string? Base64Data { get; set; } = null; public long FileSize { get; set; } public string ContentType { get; set; } = string.Empty; public Guid? UploadedById { get; set; } [ValidateNever] [ForeignKey("UploadedById")] public Employee? UploadedBy { get; set; } public DateTime UploadedAt { get; set; } } }