using System; namespace FrameworkDAL.DTO.EIPConversation { /// /// Read-only admin DTO for TDIRECTACTIONTOKEN. /// TokenHash is masked to first 8 chars + "..." for security. /// public class EIPTokenListDTO { /// First 8 chars of the hash + "..." — never expose the full hash via API. public string TokenHashMasked { get; set; } = string.Empty; public string ActionCode { get; set; } = string.Empty; public string ContextId { get; set; } = string.Empty; public int? AssigneeUserId { get; set; } public int TenantId { get; set; } /// 0 = UNUSED, 1 = USED, 2 = REVOKED, 3 = EXPIRED (computed if ExpiresAt < UtcNow and Status=0) public string Status { get; set; } = string.Empty; public DateTime ExpiresAt { get; set; } public DateTime? UsedAt { get; set; } public string? Remarks { get; set; } public DateTime CreatedOn { get; set; } } }