IM/backend/IM_API/Interface/Services/IConversationService.cs

55 lines
1.9 KiB
C#

using IM_API.Dtos.Conversation;
using IM_API.Models;
namespace IM_API.Interface.Services
{
public interface IConversationService
{
/// <summary>
/// 清除消息会话
/// </summary>
/// <param name="clearConversationsDto"></param>
/// <returns></returns>
Task<bool> ClearConversationsAsync(int userId);
/// <summary>
/// 删除单个聊天会话
/// </summary>
/// <param name="conversationId"></param>
/// <returns></returns>
Task<bool> DeleteConversationAsync(int conversationId);
/// <summary>
/// 获取用户当前消息会话
/// </summary>
/// <param name="userId">用户id</param>
/// <returns></returns>
Task<List<ConversationDto>> GetConversationsAsync(int userId);
/// <summary>
/// 获取指定用户的所有推送标识符
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<List<string>> GetUserAllStreamKeyAsync(int userId);
/// <summary>
/// 获取单个conversation信息
/// </summary>
/// <param name="conversationId"></param>
/// <returns></returns>
Task<ConversationDto> GetConversationByIdAsync(int userId, int conversationId);
/// <summary>
/// 清空未读消息
/// </summary>
/// <param name="userId"></param>
/// <param name="conversationId"></param>
/// <returns></returns>
Task<bool> ClearUnreadCountAsync(int userId, int conversationId);
/// <summary>
/// 为用户创建会话
/// </summary>
/// <param name="userAId"></param>
/// <param name="userBId"></param>
/// <param name="chatType"></param>
/// <returns></returns>
Task MakeConversationAsync(int userAId, int userBId, ChatType chatType);
}
}