Files
IM_NEW/GroupService.Domain/IReposities/IGroupMemberReposity.cs
T

44 lines
1.5 KiB
C#

using GroupService.Domain.Entities;
namespace GroupService.Domain.IReposities
{
public interface IGroupMemberReposity
{
/// <summary>
/// 通过群ID查询群成员
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
Task<IEnumerable<GroupMember>> FindByGroupIdAsync(Guid groupId);
/// <summary>
/// 通过用户ID查询
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<IEnumerable<GroupMember>> FindByUserIdAsync(Guid userId);
/// <summary>
/// 通过群ID和用户ID查询
/// </summary>
/// <param name="groupId"></param>
/// <param name="userId"></param>
/// <returns></returns>
Task<GroupMember?> FindOneByGroupIdAndUserIdAsync(Guid groupId, Guid userId);
/// <summary>
/// 新增群成员
/// </summary>
/// <param name="member"></param>
/// <returns></returns>
GroupMember Create(GroupMember member);
void CreateRange(IEnumerable<GroupMember> members);
/// <summary>
/// 检查成员是否存在
/// </summary>
/// <param name="userId"></param>
/// <returns>存在返回true,否则返回false</returns>
Task<bool> CheckMemberExistAsync(Guid groupId, Guid userId);
Task<GroupMember?> FindByIdAsync(Guid id);
Task<bool> CheckMemberAdminAsync(Guid groupId, Guid userId);
}
}