MCPcopy
hub / github.com/apache/answer / BatchUserBasicInfoByID

Method BatchUserBasicInfoByID

internal/service/user_common/user.go:144–170  ·  view source on GitHub ↗
(ctx context.Context, userIDs []string)

Source from the content-addressed store, hash-verified

142}
143
144func (us *UserCommon) BatchUserBasicInfoByID(ctx context.Context, userIDs []string) (map[string]*schema.UserBasicInfo, error) {
145 userIDs = checker.FilterEmptyString(userIDs)
146 userMap := make(map[string]*schema.UserBasicInfo)
147 if len(userIDs) == 0 {
148 return userMap, nil
149 }
150 userList, err := us.userRepo.BatchGetByID(ctx, userIDs)
151 if err != nil {
152 return userMap, err
153 }
154 avatarMapping := us.siteInfoCommonService.FormatListAvatar(ctx, userList)
155 for _, user := range userList {
156 info := us.FormatUserBasicInfo(ctx, user)
157 info.Avatar = avatarMapping[user.ID].GetURL()
158 userMap[user.ID] = info
159 }
160 for _, id := range userIDs {
161 if _, ok := userMap[id]; !ok {
162 userMap[id] = &schema.UserBasicInfo{
163 ID: id,
164 DisplayName: "user" + converter.DeleteUserDisplay(id),
165 Status: constant.UserDeleted,
166 }
167 }
168 }
169 return userMap, nil
170}
171
172// FormatUserBasicInfo format user basic info
173func (us *UserCommon) FormatUserBasicInfo(ctx context.Context, userInfo *entity.User) *schema.UserBasicInfo {

Callers 11

InviteUserInfoMethod · 0.80
InfoMethod · 0.80
FormatQuestionsPageMethod · 0.80
FormatQuestionsMethod · 0.80
AdminQuestionPageMethod · 0.80
AdminAnswerPageMethod · 0.80
GetMethod · 0.80
SearchFormatInfoMethod · 0.80
convertToReactionRespMethod · 0.80
parseResultMethod · 0.80

Calls 6

FormatUserBasicInfoMethod · 0.95
FilterEmptyStringFunction · 0.92
DeleteUserDisplayFunction · 0.92
GetURLMethod · 0.80
BatchGetByIDMethod · 0.65
FormatListAvatarMethod · 0.65

Tested by

no test coverage detected