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