Skip to content

Commit

Permalink
Merge pull request #172 from DecentralCardGame/149-shore-repair-broke…
Browse files Browse the repository at this point in the history
…n-cardchaind-cli-commands

149 shore repair broken cardchaind cli commands
  • Loading branch information
lxgr-linux committed Oct 16, 2023
2 parents 35bc0a5 + 2871cdd commit 9dbdc18
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 8 deletions.
16 changes: 14 additions & 2 deletions x/cardchain/client/cli/query_q_cards.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cli

import (
"fmt"
"strconv"

"github.com/DecentralCardGame/Cardchain/x/cardchain/types"
Expand All @@ -13,11 +14,12 @@ var _ = strconv.Itoa(0)

func CmdQCards() *cobra.Command {
cmd := &cobra.Command{
Use: "q-cards [owner] [status] [card-type] [classes] [sort-by] [name-contains] [keywords-contains] [notes-contains]",
Use: "q-cards [owner] [status] [card-type] [classes] [sort-by] [name-contains] [keywords-contains] [notes-contains] [startercards-only]",
Short: "Query qCards",
Args: cobra.ExactArgs(8),
Args: cobra.ExactArgs(9),
RunE: func(cmd *cobra.Command, args []string) (err error) {
reqOwner := args[0]
var reqOnlyStarterCard bool
var reqStatus types.QueryQCardsRequest_Status
if args[1] == "" {
reqStatus = types.QueryQCardsRequest_none
Expand All @@ -31,6 +33,15 @@ func CmdQCards() *cobra.Command {
reqKeywordsContains := args[6]
reqNotesContains := args[7]

switch args[8]{
case "yes":
reqOnlyStarterCard = true
case "no":
reqOnlyStarterCard = false
default:
return fmt.Errorf("arg 'only-startercard' has to be either yes or no but not %s", args[8])
}

clientCtx, err := client.GetClientTxContext(cmd)
if err != nil {
return err
Expand All @@ -48,6 +59,7 @@ func CmdQCards() *cobra.Command {
NameContains: reqNameContains,
KeywordsContains: reqKeywordsContains,
NotesContains: reqNotesContains,
OnlyStarterCard: reqOnlyStarterCard,
}

res, err := queryClient.QCards(cmd.Context(), params)
Expand Down
23 changes: 20 additions & 3 deletions x/cardchain/client/cli/query_q_sets.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package cli

import (
"encoding/json"
"slices"
"strconv"

"github.com/DecentralCardGame/Cardchain/x/cardchain/types"
Expand All @@ -13,21 +15,33 @@ var _ = strconv.Itoa(0)

func CmdQSets() *cobra.Command {
cmd := &cobra.Command{
Use: "q-sets [status]",
Use: "q-sets [status] [contributors] [contains-cards] [owner]",
Short: "Query q_sets",
Args: cobra.ExactArgs(1),
Args: cobra.ExactArgs(4),
RunE: func(cmd *cobra.Command, args []string) (err error) {
var (
reqStatus types.CStatus
ignoreStatus bool = false
)

if args[0] != "" {
if slices.Contains([]string{"\"\"", "''"}, args[0]) {
reqStatus = types.CStatus(types.CStatus_value[args[0]])
} else {
ignoreStatus = true
}

var argContributors []string
err = json.Unmarshal([]byte(args[1]), &argContributors)
if err != nil {
return err
}

var argContainsCards []uint64
err = json.Unmarshal([]byte(args[2]), &argContainsCards)
if err != nil {
return err
}

clientCtx, err := client.GetClientTxContext(cmd)
if err != nil {
return err
Expand All @@ -39,6 +53,9 @@ func CmdQSets() *cobra.Command {

Status: reqStatus,
IgnoreStatus: ignoreStatus,
Contributors: argContributors,
ContainsCards: argContainsCards,
Owner: args[3],
}

res, err := queryClient.QSets(cmd.Context(), params)
Expand Down
20 changes: 18 additions & 2 deletions x/cardchain/client/cli/tx_msg_open_match.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cli

import (
"encoding/json"
"strconv"

"github.com/DecentralCardGame/Cardchain/x/cardchain/types"
Expand All @@ -14,18 +15,33 @@ var _ = strconv.Itoa(0)

func CmdMsgOpenMatch() *cobra.Command {
cmd := &cobra.Command{
Use: "open-match",
Use: "open-match [player-a] [player-b] [player-a-deck] [player-b-deck]",
Short: "Broadcast message OpenMatch",
Args: cobra.ExactArgs(0),
Args: cobra.ExactArgs(4),
RunE: func(cmd *cobra.Command, args []string) (err error) {

clientCtx, err := client.GetClientTxContext(cmd)
if err != nil {
return err
}

var argPlayerADeck []uint64
var argPlayerBDeck []uint64
err = json.Unmarshal([]byte(args[2]), &argPlayerADeck)
if err != nil {
return err
}
err = json.Unmarshal([]byte(args[3]), &argPlayerBDeck)
if err != nil {
return err
}

msg := types.NewMsgOpenMatch(
clientCtx.GetFromAddress().String(),
args[0],
args[1],
argPlayerADeck,
argPlayerBDeck,
)
if err := msg.ValidateBasic(); err != nil {
return err
Expand Down
6 changes: 5 additions & 1 deletion x/cardchain/types/message_msg_open_match.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ const TypeMsgOpenMatch = "msg_open_match"

var _ sdk.Msg = &MsgOpenMatch{}

func NewMsgOpenMatch(creator string) *MsgOpenMatch {
func NewMsgOpenMatch(creator string, playerA string, playerB string, playerADeck []uint64, playerBDeck []uint64) *MsgOpenMatch {
return &MsgOpenMatch{
Creator: creator,
PlayerA: playerA,
PlayerB: playerB,
PlayerADeck: playerADeck,
PlayerBDeck: playerBDeck,
}
}

Expand Down

0 comments on commit 9dbdc18

Please sign in to comment.