github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/cmd/mattermost/commands/userargs.go (about)

     1  // Copyright (c) 2015-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/v5/app"
     8  	"github.com/mattermost/mattermost-server/v5/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  	user, _ := a.Srv().Store.User().GetByEmail(userArg)
    22  
    23  	if user == nil {
    24  		var err *model.AppError
    25  		if user, err = a.Srv().Store.User().GetByUsername(userArg); err == nil {
    26  			return user
    27  		}
    28  	}
    29  
    30  	if user == nil {
    31  		user, _ = a.Srv().Store.User().Get(userArg)
    32  	}
    33  
    34  	return user
    35  }