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

     1  package cmd
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     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 deleteDeckCmdArgs struct {
    14  	userID string
    15  	deckID int64
    16  	version string
    17  }
    18  
    19  var deleteDeckCmd = &cobra.Command{
    20  	Use:   "delete_deck",
    21  	Short: "deletes deck for zombiebattleground by its id",
    22  	RunE: func(cmd *cobra.Command, args []string) error {
    23  		signer := auth.NewEd25519Signer(commonTxObjs.privateKey)
    24  
    25  		req := &zb_calls.DeleteDeckRequest{
    26  			UserId: deleteDeckCmdArgs.userID,
    27  			DeckId: deleteDeckCmdArgs.deckID,
    28  			Version: deleteDeckCmdArgs.version,
    29  		}
    30  
    31  		_, err := commonTxObjs.contract.Call("DeleteDeck", req, signer, nil)
    32  		if err != nil {
    33  			return err
    34  		}
    35  
    36  		switch strings.ToLower(rootCmdArgs.outputFormat) {
    37  		case "json":
    38  			output, err := json.Marshal(map[string]interface{}{"success": true})
    39  			if err != nil {
    40  				return err
    41  			}
    42  			fmt.Println(string(output))
    43  		default:
    44  			fmt.Println("deck deleted successfully")
    45  		}
    46  
    47  		return nil
    48  	},
    49  }
    50  
    51  func init() {
    52  	rootCmd.AddCommand(deleteDeckCmd)
    53  
    54  	deleteDeckCmd.Flags().StringVarP(&deleteDeckCmdArgs.userID, "userId", "u", "loom", "UserId of account")
    55  	deleteDeckCmd.Flags().Int64VarP(&deleteDeckCmdArgs.deckID, "deckId", "", 0, "DeckId of account")
    56  	deleteDeckCmd.Flags().StringVarP(&deleteDeckCmdArgs.version, "version", "v", "v1", "Version")
    57  
    58  	_ = deleteDeckCmd.MarkFlagRequired("version")
    59  }