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