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