github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/get_player_pool.go (about)

     1  package cmd
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/loomnetwork/gamechain/tools/battleground_utility"
     6  	"github.com/loomnetwork/gamechain/types/zb/zb_calls"
     7  	"strings"
     8  
     9  	"github.com/loomnetwork/go-loom/auth"
    10  	"github.com/spf13/cobra"
    11  )
    12  
    13  var getPlayerPoolCmdArgs struct {
    14  	MatchID            int64
    15  	isTaggedPlayerPool bool
    16  }
    17  
    18  var getPlayerPoolCmd = &cobra.Command{
    19  	Use:   "get_player_pool",
    20  	Short: "get match",
    21  	RunE: func(cmd *cobra.Command, args []string) error {
    22  		signer := auth.NewEd25519Signer(commonTxObjs.privateKey)
    23  
    24  		var req = zb_calls.PlayerPoolRequest{}
    25  		var resp zb_calls.PlayerPoolResponse
    26  
    27  		if getPlayerPoolCmdArgs.isTaggedPlayerPool {
    28  			_, err := commonTxObjs.contract.Call("GetTaggedPlayerPool", &req, signer, &resp)
    29  			if err != nil {
    30  				return err
    31  			}
    32  		} else {
    33  			_, err := commonTxObjs.contract.Call("GetPlayerPool", &req, signer, &resp)
    34  			if err != nil {
    35  				return err
    36  			}
    37  		}
    38  
    39  		pool := resp.Pool
    40  
    41  		switch strings.ToLower(rootCmdArgs.outputFormat) {
    42  		case "json":
    43  			err := battleground_utility.PrintProtoMessageAsJsonToStdout(pool)
    44  			if err != nil {
    45  				return err
    46  			}
    47  		default:
    48  			fmt.Printf("Pool: %+v\n", pool)
    49  			fmt.Printf("Players:\n")
    50  			for _, player := range pool.PlayerProfiles {
    51  				fmt.Printf("\t%+v\n", player)
    52  			}
    53  		}
    54  
    55  		return nil
    56  	},
    57  }
    58  
    59  func init() {
    60  	rootCmd.AddCommand(getPlayerPoolCmd)
    61  
    62  	getPlayerPoolCmd.Flags().BoolVarP(&getPlayerPoolCmdArgs.isTaggedPlayerPool, "tagged", "t", false, "Tagged Player Pool")
    63  }