From e94ce3b1cc49de880b8879c385f5589a4c2ec75e Mon Sep 17 00:00:00 2001 From: "Prad Nukala (aider)" Date: Tue, 10 Dec 2024 15:21:09 -0500 Subject: [PATCH] refactor: Update root command to load EnvImpl from cobra flags --- cmd/hway/cmds.go | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/cmd/hway/cmds.go b/cmd/hway/cmds.go index 0b66057db..39c885c7f 100644 --- a/cmd/hway/cmds.go +++ b/cmd/hway/cmds.go @@ -5,15 +5,16 @@ import ( "github.com/spf13/cobra" ) +// Command line flags var ( - FlagServePort int - FlagConfigDir string - FlagSqliteFile string - FlagChainId string - FlagIpfsGatewayUrl string - FlagSonrApiUrl string - FlagSonrGrpcUrl string - FlagSonrRpcUrl string + servePort int + configDir string + sqliteFile string + chainId string + ipfsGatewayUrl string + sonrApiUrl string + sonrGrpcUrl string + sonrRpcUrl string ) func NewRootCmd() *cobra.Command { @@ -24,29 +25,24 @@ func NewRootCmd() *cobra.Command { cmd.Help() }, } - cmd.Flags().IntVar(&servePort, "serve-port", FlagServePort, "Port to serve the gateway on") - cmd.Flags().StringVar(&configDir, "config-dir", FlagConfigDir, "Directory to store config files") - cmd.Flags().StringVar(&sqliteFile, "sqlite-file", FlagSqliteFile, "File to store sqlite database") - cmd.Flags().StringVar(&chainId, "chain-id", FlagChainId, "Chain ID") - cmd.Flags().StringVar(&ipfsGatewayUrl, "ipfs-gateway-url", FlagIpfsGatewayUrl, "IPFS gateway URL") - cmd.Flags().StringVar(&sonrApiUrl, "sonr-api-url", FlagSonrApiUrl, "Sonr API URL") - cmd.Flags().StringVar(&sonrGrpcUrl, "sonr-grpc-url", FlagSonrGrpcUrl, "Sonr gRPC URL") + cmd.Flags().IntVar(&servePort, "serve-port", 8080, "Port to serve the gateway on") + cmd.Flags().StringVar(&configDir, "config-dir", "", "Directory to store config files") + cmd.Flags().StringVar(&sqliteFile, "sqlite-file", "", "File to store sqlite database") + cmd.Flags().StringVar(&chainId, "chain-id", "", "Chain ID") + cmd.Flags().StringVar(&ipfsGatewayUrl, "ipfs-gateway-url", "", "IPFS gateway URL") + cmd.Flags().StringVar(&sonrApiUrl, "sonr-api-url", "", "Sonr API URL") + cmd.Flags().StringVar(&sonrGrpcUrl, "sonr-grpc-url", "", "Sonr gRPC URL") + cmd.Flags().StringVar(&sonrRpcUrl, "sonr-rpc-url", "", "Sonr RPC URL") return cmd } func loadEnvImplFromArgs(args []string) (config.Env, error) { - var servePort int - var configDir string - var sqliteFile string - var chainId string - var ipfsGatewayUrl string - var sonrApiUrl string - var sonrGrpcUrl string - var sonrRpcUrl string - cmd := NewRootCmd() + if err := cmd.ParseFlags(args); err != nil { + return nil, err + } - env := config.EnvImpl{ + env := &config.EnvImpl{ ServePort: servePort, ConfigDir: configDir, SqliteFile: sqliteFile, @@ -56,5 +52,5 @@ func loadEnvImplFromArgs(args []string) (config.Env, error) { SonrGrpcUrl: sonrGrpcUrl, SonrRpcUrl: sonrRpcUrl, } - return &env, nil + return env, nil }