TP-0000 | participant limit fix (#55)
* TP-0000 | setting limit of 10 in get users api * TP-0000 | fetching all users by splitting them
This commit is contained in:
committed by
GitHub Enterprise
parent
0e129091a0
commit
75934d92bc
@@ -12,13 +12,18 @@ func (c *Client) GetUsersInfo(users ...string) (*[]slack.User, error) {
|
||||
if len(users) == 0 {
|
||||
return &[]slack.User{}, nil
|
||||
}
|
||||
userInfo, err := c.socketModeClient.GetUsersInfo(users...)
|
||||
if err != nil {
|
||||
c.logger.Error("get users info failed", zap.Any("users", users), zap.Error(err))
|
||||
return nil, fmt.Errorf("get users info failed. err: %v", err)
|
||||
var usersInfo []slack.User
|
||||
splittedUsersList := splitUsers(users, 30)
|
||||
for usersList := range splittedUsersList {
|
||||
usersInfoResponse, err := c.socketModeClient.GetUsersInfo(splittedUsersList[usersList]...)
|
||||
if err != nil {
|
||||
c.logger.Error("get users info failed", zap.Any("users", splittedUsersList[usersList]), zap.Error(err))
|
||||
return nil, fmt.Errorf("get users info failed. err: %v", err)
|
||||
}
|
||||
usersInfo = append(usersInfo, *usersInfoResponse...)
|
||||
}
|
||||
|
||||
return userInfo, nil
|
||||
return &usersInfo, nil
|
||||
}
|
||||
|
||||
func (c *Client) GetUsersInConversation(channelId string) ([]string, error) {
|
||||
@@ -71,3 +76,15 @@ func (c *Client) GetUserEmailsOrNameByIds(userIds ...string) (map[string]string,
|
||||
})
|
||||
return userIdAndIdentityMapping, nil
|
||||
}
|
||||
|
||||
func splitUsers(users []string, chunkSize int) [][]string {
|
||||
var result [][]string
|
||||
for i := 0; i < len(users); i += chunkSize {
|
||||
end := i + chunkSize
|
||||
if end > len(users) {
|
||||
end = len(users)
|
||||
}
|
||||
result = append(result, users[i:end])
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user