// Copyright © 2023 OpenIM. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package group import ( "context" relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" ) //func (s *groupServer) FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationtb.GroupMemberModel, error) { // members, err := s.db.FindGroupMember(ctx, groupIDs, userIDs, roleLevels) // if err != nil { // return nil, err // } // emptyUserIDs := make(map[string]struct{}) // for _, member := range members { // if member.Nickname == "" || member.FaceURL == "" { // emptyUserIDs[member.UserID] = struct{}{} // } // } // if len(emptyUserIDs) > 0 { // users, err := s.User.GetPublicUserInfoMap(ctx, utils.Keys(emptyUserIDs), true) // if err != nil { // return nil, err // } // for i, member := range members { // user, ok := users[member.UserID] // if !ok { // continue // } // if member.Nickname == "" { // members[i].Nickname = user.Nickname // } // if member.FaceURL == "" { // members[i].FaceURL = user.FaceURL // } // } // } // return members, nil //} func (s *groupServer) PopulateGroupMember(ctx context.Context, members ...*relationtb.GroupMemberModel) error { return s.Notification.PopulateGroupMember(ctx, members...) //if len(members) == 0 { // return nil //} //emptyUserIDs := make(map[string]struct{}) //for _, member := range members { // if member.Nickname == "" || member.FaceURL == "" { // emptyUserIDs[member.UserID] = struct{}{} // } //} //if len(emptyUserIDs) > 0 { // users, err := s.User.GetPublicUserInfoMap(ctx, utils.Keys(emptyUserIDs), true) // if err != nil { // return err // } // for i, member := range members { // user, ok := users[member.UserID] // if !ok { // continue // } // if member.Nickname == "" { // members[i].Nickname = user.Nickname // } // if member.FaceURL == "" { // members[i].FaceURL = user.FaceURL // } // } //} //return nil } //func (s *groupServer) TakeGroupMembers(ctx context.Context, groupID string, userID string) (*relationtb.GroupMemberModel, error) { // member, err := s.db.TakeGroupMember(ctx, groupID, userID) // if err != nil { // return nil, err // } // if member.Nickname == "" || member.FaceURL == "" { // user, err := s.User.GetPublicUserInfo(ctx, userID) // if err != nil { // return nil, err // } // if member.Nickname == "" { // member.Nickname = user.Nickname // } // if member.FaceURL == "" { // member.FaceURL = user.FaceURL // } // } // return member, nil //} //func (s *groupServer) TakeGroupOwner(ctx context.Context, groupID string) (*relationtb.GroupMemberModel, error) { // owner, err := s.db.TakeGroupOwner(ctx, groupID) // if err != nil { // return nil, err // } // if owner.Nickname == "" || owner.FaceURL == "" { // user, err := s.User.GetUserInfo(ctx, owner.UserID) // if err != nil { // return nil, err // } // if owner.Nickname == "" { // owner.Nickname = user.Nickname // } // if owner.FaceURL == "" { // owner.FaceURL = user.FaceURL // } // } // return owner, nil //} // //func (s *groupServer) PageGetGroupMember( // ctx context.Context, // groupID string, // pageNumber, showNumber int32, //) (uint32, []*relationtb.GroupMemberModel, error) { // total, members, err := s.db.PageGetGroupMember(ctx, groupID, pageNumber, showNumber) // if err != nil { // return 0, nil, err // } // emptyUserIDs := make(map[string]struct{}) // for _, member := range members { // if member.Nickname == "" || member.FaceURL == "" { // emptyUserIDs[member.UserID] = struct{}{} // } // } // if len(emptyUserIDs) > 0 { // users, err := s.User.GetPublicUserInfoMap(ctx, utils.Keys(emptyUserIDs), true) // if err != nil { // return 0, nil, err // } // for i, member := range members { // user, ok := users[member.UserID] // if !ok { // continue // } // if member.Nickname == "" { // members[i].Nickname = user.Nickname // } // if member.FaceURL == "" { // members[i].FaceURL = user.FaceURL // } // } // } // return total, members, nil //}