using Apollinare.Domain.Enums;

namespace Apollinare.Domain.Entities;

public class CustomFieldDefinition : BaseEntity
{
    public required string EntityName { get; set; } // e.g. "Cliente", "WarehouseArticle"
    public required string FieldName { get; set; } // Internal name, e.g. "birthday"
    public required string Label { get; set; } // Display name, e.g. "Birthday"
    public CustomFieldType Type { get; set; }
    public bool IsRequired { get; set; }
    public string? DefaultValue { get; set; }
    public string? OptionsJson { get; set; } // For Select/MultiSelect: ["Option A", "Option B"]
    public int SortOrder { get; set; }
    public string? Description { get; set; }
    public bool IsActive { get; set; } = true;
    public string? ValidationRegex { get; set; }
    public string? Placeholder { get; set; }
}
