From 232a99f0c7b9364cb4386264f9ff7f97549a4378 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Mon, 3 Apr 2017 18:11:12 +0100 Subject: PLT-6162: Search for users not in a given team. (#5943) --- app/user.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'app') diff --git a/app/user.go b/app/user.go index 8e0615508..00f6df471 100644 --- a/app/user.go +++ b/app/user.go @@ -1299,6 +1299,8 @@ func SearchUsers(props *model.UserSearch, searchOptions map[string]bool, asAdmin return SearchUsersInChannel(props.InChannelId, props.Term, searchOptions, asAdmin) } else if props.NotInChannelId != "" { return SearchUsersNotInChannel(props.TeamId, props.NotInChannelId, props.Term, searchOptions, asAdmin) + } else if props.NotInTeamId != "" { + return SearchUsersNotInTeam(props.NotInTeamId, props.Term, searchOptions, asAdmin) } else { return SearchUsersInTeam(props.TeamId, props.Term, searchOptions, asAdmin) } @@ -1346,6 +1348,20 @@ func SearchUsersInTeam(teamId string, term string, searchOptions map[string]bool } } +func SearchUsersNotInTeam(notInTeamId string, term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError) { + if result := <-Srv.Store.User().SearchNotInTeam(notInTeamId, term, searchOptions); result.Err != nil { + return nil, result.Err + } else { + users := result.Data.([]*model.User) + + for _, user := range users { + SanitizeProfile(user, asAdmin) + } + + return users, nil + } +} + func SearchUsersWithoutTeam(term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError) { if result := <-Srv.Store.User().SearchWithoutTeam(term, searchOptions); result.Err != nil { return nil, result.Err -- cgit v1.2.3-1-g7c22