namespace WordVersioning.Api.Models;
/// นิยาม field หนึ่งตัวของ template (FR-9) — Key = content control (SDT) tag ที่ detect ตอน upload
public class TemplateField
{
public Guid Id { get; set; }
public Guid TemplateId { get; set; }
public Template? Template { get; set; }
/// = SDT tag — unique ต่อ template ใช้ค่าเดียวกันทั้ง generate/extract/sync
public string Key { get; set; } = string.Empty;
/// ชื่อที่แสดงในฟอร์ม (default = Key จนกว่า admin จะตั้ง)
public string Label { get; set; } = string.Empty;
/// text | number | date
public string Type { get; set; } = "text";
public bool IsRequired { get; set; }
/// ลำดับตอนแสดงฟอร์ม (default = ลำดับที่ปรากฏในไฟล์ตอน detect)
public int SortOrder { get; set; }
public static readonly string[] ValidTypes = ["text", "number", "date"];
}