Interface IChatService
- Namespace
- EchoHub.Core.Contracts
- Assembly
- EchoHub.Core.dll
public interface IChatService
Methods
BroadcastChannelUpdatedAsync(ChannelDto, string?)
Task BroadcastChannelUpdatedAsync(ChannelDto channel, string? channelName = null)
Parameters
channel ChannelDto
channelName string
Returns
- Task
BroadcastMessageAsync(string, MessageDto)
Task BroadcastMessageAsync(string channelName, MessageDto message)
Parameters
channelName string
message MessageDto
Returns
- Task
GetChannelHistoryAsync(string, int, int)
Task<List<MessageDto>> GetChannelHistoryAsync(string channelName, int count, int offset = 0)
Parameters
channelName string
count int
offset int
Returns
- Task<List<MessageDto>>
GetChannelsForUserAsync(string)
Task<List<string>> GetChannelsForUserAsync(string username)
Parameters
username string
Returns
- Task<List<string>>
GetOnlineUsersAsync(string)
Task<List<UserPresenceDto>> GetOnlineUsersAsync(string channelName)
Parameters
channelName string
Returns
- Task<List<UserPresenceDto>>
JoinChannelAsync(string, Guid, string, string)
Task<(List<MessageDto> History, string? Error)> JoinChannelAsync(string connectionId, Guid userId, string username, string channelName)
Parameters
connectionId string
userId Guid
username string
channelName string
Returns
- Task<(List<MessageDto> History, string Error)>
LeaveChannelAsync(string, string, string)
Task LeaveChannelAsync(string connectionId, string username, string channelName)
Parameters
connectionId string
username string
channelName string
Returns
- Task
SendMessageAsync(Guid, string, string, string)
Task<string?> SendMessageAsync(Guid userId, string username, string channelName, string content)
Parameters
userId Guid
username string
channelName string
content string
Returns
- Task<string>
UpdateStatusAsync(Guid, string, UserStatus, string?)
Task<string?> UpdateStatusAsync(Guid userId, string username, UserStatus status, string? statusMessage)
Parameters
userId Guid
username string
status UserStatus
statusMessage string
Returns
- Task<string>
UserConnectedAsync(string, Guid, string)
Task UserConnectedAsync(string connectionId, Guid userId, string username)
Parameters
connectionId string
userId Guid
username string
Returns
- Task
UserDisconnectedAsync(string)
Task<string?> UserDisconnectedAsync(string connectionId)
Parameters
connectionId string
Returns
- Task<string>