29 lines
718 B
Go
29 lines
718 B
Go
package client
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
"github.com/cosmos/cosmos-sdk/x/gov/client/rest"
|
|
)
|
|
|
|
// function to create the rest handler
|
|
type RESTHandlerFn func(client.Context) rest.ProposalRESTHandler
|
|
|
|
// function to create the cli handler
|
|
type CLIHandlerFn func() *cobra.Command
|
|
|
|
// The combined type for a proposal handler for both cli and rest
|
|
type ProposalHandler struct {
|
|
CLIHandler CLIHandlerFn
|
|
RESTHandler RESTHandlerFn
|
|
}
|
|
|
|
// NewProposalHandler creates a new ProposalHandler object
|
|
func NewProposalHandler(cliHandler CLIHandlerFn, restHandler RESTHandlerFn) ProposalHandler {
|
|
return ProposalHandler{
|
|
CLIHandler: cliHandler,
|
|
RESTHandler: restHandler,
|
|
}
|
|
}
|