using System;
namespace FrameworkDAL.DTO.EIPConversation
{
///
/// Maps TEIPINTERACTIONSESSION — detailed execution-tracking session, separate from
/// the lightweight TEIUSERSESSION used for multi-turn resume. One row per conversation
/// thread (found-or-created by ACTORID+TENANTID+CHANNELTYPE while still open), used only
/// as the parent for TEIPCONVERSATION/TEIPSTEPEXECUTION audit rows.
///
public class EIPInteractionSessionDTO
{
public int InteractionSessionId { get; set; }
public int TenantId { get; set; }
public string SessionToken { get; set; } = string.Empty;
public int FlowDefinitionId { get; set; }
public string? CurrentStep { get; set; }
/// 0=Postman, 1=WhatsApp, 2=Teams, 3=Telegram, 4=Slack, 5=SMS
public byte ChannelType { get; set; }
public string? ActorId { get; set; }
/// 1=Created, 2=AwaitingInput, 3=Executing, 4=AwaitingOtp, 5=Completed, 6=TimedOut, 7=Error, 8=Closed
public byte SessionStatus { get; set; }
public DateTime StartedOn { get; set; }
public DateTime? CompletedOn { get; set; }
public int CreatedById { get; set; }
public int ModifiedById { get; set; }
}
}