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 }