using IM_API.Dtos.Group;
using IM_API.Models;
namespace IM_API.Interface.Services
{
public interface IGroupService
{
///
/// 邀请好友入群
///
/// 操作者ID
/// 群ID
/// 邀请的用户列表
///
Task InviteUsersAsync(int userId,int groupId, List userIds);
///
/// 加入群聊
///
/// 操作者ID
/// 群ID
///
Task JoinGroupAsync(int userId,int groupId);
///
/// 创建群聊
///
/// 操作者ID
/// 群信息
/// 邀请用户列表
///
Task CreateGroupAsync(int userId, GroupCreateDto groupCreateDto);
///
/// 删除群
///
/// 操作者ID
/// 群ID
///
Task DeleteGroupAsync(int userId, int groupId);
///
/// 获取当前用户群列表
///
/// 操作者ID
///
///
///
///
Task> 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);
}
}