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; }
}
}