56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using IM_API.Dtos.Group;
|
|
using IM_API.Models;
|
|
|
|
namespace IM_API.Interface.Services
|
|
{
|
|
public interface IGroupService
|
|
{
|
|
/// <summary>
|
|
/// 邀请好友入群
|
|
/// </summary>
|
|
/// <param name="userId">操作者ID</param>
|
|
/// <param name="groupId">群ID</param>
|
|
/// <param name="userIds">邀请的用户列表</param>
|
|
/// <returns></returns>
|
|
Task InviteUsersAsync(int userId,int groupId, List<int> userIds);
|
|
/// <summary>
|
|
/// 加入群聊
|
|
/// </summary>
|
|
/// <param name="userId">操作者ID</param>
|
|
/// <param name="groupId">群ID</param>
|
|
/// <returns></returns>
|
|
Task JoinGroupAsync(int userId,int groupId);
|
|
/// <summary>
|
|
/// 创建群聊
|
|
/// </summary>
|
|
/// <param name="userId">操作者ID</param>
|
|
/// <param name="groupCreateDto">群信息</param>
|
|
/// <param name="userIds">邀请用户列表</param>
|
|
/// <returns></returns>
|
|
Task<GroupInfoDto> CreateGroupAsync(int userId, GroupCreateDto groupCreateDto);
|
|
/// <summary>
|
|
/// 删除群
|
|
/// </summary>
|
|
/// <param name="userId">操作者ID</param>
|
|
/// <param name="groupId">群ID</param>
|
|
/// <returns></returns>
|
|
Task DeleteGroupAsync(int userId, int groupId);
|
|
/// <summary>
|
|
/// 获取当前用户群列表
|
|
/// </summary>
|
|
/// <param name="userId">操作者ID</param>
|
|
/// <param name="page"></param>
|
|
/// <param name="limit"></param>
|
|
/// <param name="desc"></param>
|
|
/// <returns></returns>
|
|
Task<List<GroupInfoDto>> GetGroupListAsync(int userId, int page, int limit, bool desc);
|
|
|
|
Task UpdateGroupConversationAsync(GroupUpdateConversationDto dto);
|
|
|
|
Task HandleGroupInviteAsync(int userid, HandleGroupInviteDto dto);
|
|
Task HandleGroupRequestAsync(int userid, HandleGroupRequestDto dto);
|
|
Task MakeGroupRequestAsync(int userId,int? adminUserId,int groupId);
|
|
Task MakeGroupMemberAsync(int userId, int groupId, GroupMemberRole? role);
|
|
}
|
|
}
|