using System; namespace EAIAdminDAL.DTO { /// Admin CRUD DTO for MEAIMODELCONFIG — mirrors gbEAI's maimodel. See /// EAIInitiativeAdminDTO for the shared shape/conventions this follows. public class EAIModelConfigAdminDTO { public int ModelId { get; set; } public int TenantId { get; set; } /// Uniqueness is per (TenantId, ModelCode) — NOT globally unique. public string ModelCode { get; set; } = string.Empty; public string ModelName { get; set; } = string.Empty; public string Provider { get; set; } = string.Empty; public string? Endpoint { get; set; } /// Vault PATH only (e.g. eai/model/{TenantId}/{ModelCode}/apikey) — never a raw /// key. Set via the existing GB5Shared Vault SetSecretEndpoint from a separate "Set API /// Key" UI action, never through SaveEAIModelConfig. gbEAI's own maimodel.apikey column is /// plaintext; this is deliberately not repeated. public string? ApiKeyVaultKey { get; set; } public byte IsActive { get; set; } = 1; public long? EAIRemoteId { 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; } } }