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

     1  package cmd
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/loomnetwork/gamechain/types/zb/zb_calls"
     6  
     7  	"github.com/loomnetwork/go-loom/auth"
     8  	"github.com/spf13/cobra"
     9  )
    10  
    11  var updateEloCmdArgs struct {
    12  	userID string
    13  	value  int64
    14  }
    15  
    16  var updateEloCmd = &cobra.Command{
    17  	Use:   "update_elo",
    18  	Short: "updates the user's elo score",
    19  	RunE: func(cmd *cobra.Command, args []string) error {
    20  		signer := auth.NewEd25519Signer(commonTxObjs.privateKey)
    21  		var requestData zb_calls.UpdateUserEloRequest
    22  
    23  		requestData.UserId = updateEloCmdArgs.userID
    24  		requestData.EloScore = updateEloCmdArgs.value
    25  
    26  		_, err := commonTxObjs.contract.Call("UpdateUserElo", &requestData, signer, nil)
    27  		if err != nil {
    28  			return fmt.Errorf("error encountered while calling UpdateUserElo: %s", err.Error())
    29  		}
    30  
    31  		fmt.Println("Elo updated successfully")
    32  		return nil
    33  	},
    34  }
    35  
    36  func init() {
    37  	rootCmd.AddCommand(updateEloCmd)
    38  
    39  	updateEloCmd.Flags().StringVarP(&updateEloCmdArgs.userID, "userId", "u", "loom", "UserId of request")
    40  	updateEloCmd.Flags().Int64VarP(&updateEloCmdArgs.value, "value", "v", 0, "new elo value to update")
    41  }