mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-07 02:56:42 +08:00
1
This commit is contained in:
parent
3d8902c670
commit
b801cde5c4
@ -173,10 +173,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
for _, userID := range userIDs {
|
if ids := utils.Single(userIDs, utils.MapKey(userMap)); len(ids) > 0 {
|
||||||
if userMap[userID] == nil {
|
return nil, constant.ErrUserIDNotFound.Wrap(strings.Join(ids, ","))
|
||||||
return nil, constant.ErrUserIDNotFound.Wrap(userID)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if err := callbackBeforeCreateGroup(ctx, req); err != nil {
|
if err := callbackBeforeCreateGroup(ctx, req); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -275,7 +273,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
|
|||||||
if len(req.InvitedUserIDs) == 0 {
|
if len(req.InvitedUserIDs) == 0 {
|
||||||
return nil, constant.ErrArgs.Wrap("user empty")
|
return nil, constant.ErrArgs.Wrap("user empty")
|
||||||
}
|
}
|
||||||
if utils.IsDuplicateID(req.InvitedUserIDs) {
|
if utils.Duplicate(req.InvitedUserIDs) {
|
||||||
return nil, constant.ErrArgs.Wrap("userID duplicate")
|
return nil, constant.ErrArgs.Wrap("userID duplicate")
|
||||||
}
|
}
|
||||||
group, err := s.GroupInterface.TakeGroupByID(ctx, req.GroupID)
|
group, err := s.GroupInterface.TakeGroupByID(ctx, req.GroupID)
|
||||||
@ -289,23 +287,18 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
memberMap := make(map[string]*relation2.GroupMemberModel)
|
memberMap := utils.SliceToMap(members, func(e *relation2.GroupMemberModel) string {
|
||||||
for i, member := range members {
|
return e.UserID
|
||||||
memberMap[member.GroupID] = members[i]
|
})
|
||||||
}
|
if ids := utils.Single(req.InvitedUserIDs, utils.MapKey(memberMap)); len(ids) > 0 {
|
||||||
for _, userID := range req.InvitedUserIDs {
|
return nil, constant.ErrArgs.Wrap("user in group " + strings.Join(ids, ","))
|
||||||
if _, ok := memberMap[userID]; ok {
|
|
||||||
return nil, constant.ErrArgs.Wrap("user in group " + userID)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
userMap, err := getUserMap(ctx, req.InvitedUserIDs)
|
userMap, err := getUserMap(ctx, req.InvitedUserIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
for _, userID := range req.InvitedUserIDs {
|
if ids := utils.Single(req.InvitedUserIDs, utils.MapKey(userMap)); len(ids) > 0 {
|
||||||
if _, ok := userMap[userID]; !ok {
|
return nil, constant.ErrArgs.Wrap("user not found " + strings.Join(ids, ","))
|
||||||
return nil, constant.ErrUserIDNotFound.Wrap(userID)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if group.NeedVerification == constant.AllNeedVerification {
|
if group.NeedVerification == constant.AllNeedVerification {
|
||||||
if !token_verify.IsAppManagerUid(ctx) {
|
if !token_verify.IsAppManagerUid(ctx) {
|
||||||
@ -382,10 +375,6 @@ func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGro
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var userIDs []string
|
|
||||||
for _, member := range members {
|
|
||||||
userIDs = append(userIDs, member.UserID)
|
|
||||||
}
|
|
||||||
for _, member := range members {
|
for _, member := range members {
|
||||||
var node open_im_sdk.GroupMemberFullInfo
|
var node open_im_sdk.GroupMemberFullInfo
|
||||||
utils.CopyStructFields(&node, member)
|
utils.CopyStructFields(&node, member)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user