LANCommander/LANCommander.SDK/Hubs/Interfaces/IChatHub.cs
Pat Hartl 66abc6e59e Implement infinite loading with chat thread
- Chat messages are now loaded based on scroll position
- Read status is now updated and set by last message read
- Reworked script importing by using ScriptProvider
2026-01-11 14:38:24 -06:00

22 lines
795 B
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using LANCommander.SDK.Models;
namespace LANCommander.SDK.Hubs;
public interface IChatHub
{
Task<Guid> StartThreadAsync(string[] userIdentifiers);
Task AddParticipantAsync(Guid threadId, string participantId);
Task<ChatThread> GetThreadAsync(Guid threadId);
Task<IEnumerable<ChatThread>> GetThreadsAsync();
Task SendMessageAsync(Guid threadId, string message);
Task<InfiniteResponse<ChatMessage>> GetMessagesAsync(Guid threadId, Guid? cursor, int? count);
Task StartTypingAsync(Guid threadId);
Task StopTypingAsync(Guid threadId);
Task UpdateReadStatusAsync(Guid threadId);
Task<int> GetUnreadMessageCountAsync(Guid threadId);
Task<IEnumerable<User>> GetUsersAsync();
}