using System; namespace EAIAdminDAL.DTO { /// Admin CRUD DTO for MEAICONTEXTKEYDEFINITION — one row per context key (e.g. /// "ComplianceNotes", "ResponseTone"), declaring how its values compose across scope levels. /// See EAIInitiativeAdminDTO for the shared shape/conventions this follows. public class EAIContextKeyDefinitionDTO { public int ContextKeyDefinitionId { get; set; } /// Globally unique — a context key is a platform-wide concept, not per-tenant /// (individual VALUES for it are tenant-scoped via EAIContextSettingDTO.TenantId). public string ContextKey { get; set; } = string.Empty; public string? Description { get; set; } /// 0 = Override (narrowest matching level wins outright), 1 = Additive (all /// matching levels concatenate broad->narrow). See IEAIContextResolver. public byte CompositionMode { get; set; } public short Version { get; set; } public byte Status { get; set; } = 1; public int? CreatedById { get; set; } public string? CreatedByName { get; set; } public DateTime CreatedOn { get; set; } public int? ModifiedById { get; set; } public string? ModifiedByName { get; set; } public DateTime? ModifiedOn { get; set; } } }