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