refactor: Modify command flags and environment loading logic in cmds.go

This commit is contained in:
Prad Nukala 2024-12-10 15:21:08 -05:00 committed by Prad Nukala (aider)
parent 648b089c48
commit ebb89facbd

View File

@ -5,27 +5,47 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
var (
FlagServePort int
FlagConfigDir string
FlagSqliteFile string
FlagChainId string
FlagIpfsGatewayUrl string
FlagSonrApiUrl string
FlagSonrGrpcUrl string
FlagSonrRpcUrl string
)
func NewRootCmd() *cobra.Command { func NewRootCmd() *cobra.Command {
return &cobra.Command{ cmd := &cobra.Command{
Use: "hway", Use: "hway",
Short: "Sonr DID gateway", Short: "Sonr DID gateway",
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
cmd.Help() 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")
return cmd
} }
func getEnvImpl(cmd *cobra.Command) (config.Env, error) { func loadEnvImplFromArgs(args []string) (config.Env, error) {
servePort, _ := cmd.Flags().GetInt("serve-port") var servePort int
configDir, _ := cmd.Flags().GetString("config-dir") var configDir string
sqliteFile, _ := cmd.Flags().GetString("sqlite-file") var sqliteFile string
chainId, _ := cmd.Flags().GetString("chain-id") var chainId string
ipfsGatewayUrl, _ := cmd.Flags().GetString("ipfs-gateway-url") var ipfsGatewayUrl string
sonrApiUrl, _ := cmd.Flags().GetString("sonr-api-url") var sonrApiUrl string
sonrGrpcUrl, _ := cmd.Flags().GetString("sonr-grpc-url") var sonrGrpcUrl string
sonrRpcUrl, _ := cmd.Flags().GetString("sonr-rpc-url") var sonrRpcUrl string
// Load from flags
cmd := NewRootCmd()
env := config.EnvImpl{ env := config.EnvImpl{
ServePort: servePort, ServePort: servePort,
ConfigDir: configDir, ConfigDir: configDir,