github.com/iDevoid/mattermost-server@v5.11.1+incompatible/cmd/mattermost/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  }