github.com/dschalla/mattermost-server@v4.8.1-rc1+incompatible/cmd/platform/userargs.go (about)

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