github.com/gigforks/mattermost-server@v4.9.1-0.20180619094218-800d97fa55d0+incompatible/cmd/commands/userargs.go (about) 1 // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package commands 5 6 import ( 7 "github.com/mattermost/mattermost-server/app" 8 "github.com/mattermost/mattermost-server/model" 9 ) 10 11 func getUsersFromUserArgs(a *app.App, userArgs []string) []*model.User { 12 users := make([]*model.User, 0, len(userArgs)) 13 for _, userArg := range userArgs { 14 user := getUserFromUserArg(a, userArg) 15 users = append(users, user) 16 } 17 return users 18 } 19 20 func getUserFromUserArg(a *app.App, userArg string) *model.User { 21 var user *model.User 22 if result := <-a.Srv.Store.User().GetByEmail(userArg); result.Err == nil { 23 user = result.Data.(*model.User) 24 } 25 26 if user == nil { 27 if result := <-a.Srv.Store.User().GetByUsername(userArg); result.Err == nil { 28 user = result.Data.(*model.User) 29 } 30 } 31 32 if user == nil { 33 if result := <-a.Srv.Store.User().Get(userArg); result.Err == nil { 34 user = result.Data.(*model.User) 35 } 36 } 37 38 return user 39 }