TP-52739| added ordering of team members in get teams api (#343)
This commit is contained in:
committed by
GitHub
parent
adb2795b12
commit
d8fc4380ff
@@ -11,6 +11,7 @@ import (
|
||||
"houston/model/user"
|
||||
service "houston/service/response"
|
||||
"houston/service/slack"
|
||||
"sort"
|
||||
)
|
||||
|
||||
type TeamServiceV2 struct {
|
||||
@@ -52,7 +53,8 @@ func (teamService *TeamServiceV2) GetTeamDetails(teamId uint) (*service.TeamResp
|
||||
logger.Error(fmt.Sprintf("%s error in fetching users by slackIds: %s", logTag, currentTeam.SlackUserIds))
|
||||
return nil, customErrors.NewDataAccessError(fmt.Sprintf("unable to find users for team id: %d", teamId))
|
||||
}
|
||||
teamResponse.Participants = teamService.getTeamUserResponses(*users, currentTeam.SlackUserIds)
|
||||
userResponses := teamService.getTeamUserResponses(*users, currentTeam.SlackUserIds)
|
||||
teamResponse.Participants = getOrderedUserResponses(userResponses, currentTeam.ManagerHandle)
|
||||
|
||||
teamResponse.WebhookSlackChannelId = currentTeam.WebhookSlackChannel
|
||||
channel, err := teamService.slackService.GetConversationInfo(currentTeam.WebhookSlackChannel)
|
||||
@@ -153,3 +155,16 @@ func (teamService *TeamServiceV2) getTeamUserResponses(users []user.UserEntity,
|
||||
}
|
||||
return userResponses
|
||||
}
|
||||
|
||||
func getOrderedUserResponses(userResponses []service.UserResponse, managerID string) []service.UserResponse {
|
||||
sort.SliceStable(userResponses, func(i, j int) bool {
|
||||
if userResponses[i].Id == managerID {
|
||||
return true
|
||||
}
|
||||
if userResponses[j].Id == managerID {
|
||||
return false
|
||||
}
|
||||
return userResponses[i].Name < userResponses[j].Name
|
||||
})
|
||||
return userResponses
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user