namespace GB5Shared.DTO.DirectAction
{
/// Maps to TDIRECTACTIONTOKEN (one-time-use audit table).
public class DirectActionTokenDTO
{
public string TokenHash { get; set; } = string.Empty;
public int ContextId { get; set; }
public string ActionCode { get; set; } = string.Empty;
public int AssigneeUserId { get; set; }
public int TenantId { get; set; }
public DateTime ExpiresAt { get; set; }
public DateTime? UsedAt { get; set; }
/// 0=Unused, 1=Used, 2=Revoked
public byte Status { get; set; }
public string? Remarks { get; set; }
public DateTime CreatedOn { get; set; } = DateTime.UtcNow;
}
}