using CollabDAL.DTO.CollabSession; using GB5Shared.DTO.Framework.Login; namespace CollabDAL.CustomCode.CollabSession; public interface ICollabSessionDAL { Task GetSessionByIdAsync(Guid sessionId, LoginDTO login, CancellationToken ct); Task GetSessionByCodeAsync(string code, LoginDTO login, CancellationToken ct); Task> GetActiveSessionsAsync(LoginDTO login, CancellationToken ct); Task> GetScheduledSessionsAsync(LoginDTO login, CancellationToken ct); Task> GetAllAbandonedCandidatesAsync(int timeoutMinutes, LoginDTO login, CancellationToken ct); Task CreateSessionAsync(CreateSessionSaveDTO dto, string sessionCode, LoginDTO login, CancellationToken ct); Task UpdateSessionStatusAsync(UpdateSessionStatusSaveDTO dto, LoginDTO login, CancellationToken ct); Task UpdateSessionContextAsync(Guid sessionId, string? routeUrl, string? recordId, string? recordLabel, LoginDTO login, CancellationToken ct); Task UpdateLastActivityAsync(Guid sessionId, LoginDTO login, CancellationToken ct); }