using System.ComponentModel.DataAnnotations.Schema; using Marco.Pms.Model.Entitlements; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; namespace Marco.Pms.Model.DocumentManager { public class Document { 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; } public long FileSize { get; set; } public string ContentType { get; set; } = string.Empty; public DateTime UploadedAt { get; set; } public int TenantId { get; set; } [ValidateNever] [ForeignKey(nameof(TenantId))] public Tenant? Tenant { get; set; } } }