using CollabDAL.DTO.CollabParticipant; using CollabDAL.DTO.CollabSession; using GB5Shared.DTO.Framework.Login; namespace CollabDAL.CustomCode.CollabParticipant; public interface ICollabParticipantDAL { Task> GetParticipantsBySessionAsync(Guid sessionId, LoginDTO login, CancellationToken ct); Task GetParticipantByConnectionAsync(string connectionId, LoginDTO login, CancellationToken ct); Task GetActiveParticipantAsync(Guid sessionId, string userId, LoginDTO login, CancellationToken ct); Task GetControlHolderAsync(Guid sessionId, LoginDTO login, CancellationToken ct); Task AddParticipantAsync(CollabParticipantDTO dto, LoginDTO login, CancellationToken ct); Task UpdateParticipantLeftAsync(Guid sessionId, string userId, LoginDTO login, CancellationToken ct); Task UpdateParticipantConnectionAsync(UpdateParticipantConnectionSaveDTO dto, LoginDTO login, CancellationToken ct); Task GrantControlAsync(GrantControlSaveDTO dto, LoginDTO login, CancellationToken ct); Task RevokeAllControlAsync(Guid sessionId, LoginDTO login, CancellationToken ct); Task UpdateHeartbeatAsync(Guid sessionId, string userId, LoginDTO login, CancellationToken ct); }