using GB5Shared.DTO.Framework.Login;
using System.Threading;
using System.Threading.Tasks;
namespace FrameworkDAL.CustomCode.EIPConversation.EIPInteractionSession
{
public interface IEIPInteractionSessionDAL
{
/// Reuses the open interaction session for this actor+tenant+channel if one
/// exists, otherwise creates a new one bound to flowCode. Returns InteractionSessionId.
Task GetOrCreateAsync(
string actorId, int tenantId, byte channelType, string flowCode, string? currentStep,
LoginDTO loginDTO, CancellationToken ct = default);
Task MarkStatusAsync(
int interactionSessionId, byte sessionStatus, string? currentStep, bool completed,
LoginDTO loginDTO, CancellationToken ct = default);
}
}