mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
61 lines
1.7 KiB
Go
61 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/onsonr/sonr/internal/gateway/config"
|
|
"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 {
|
|
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 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,
|
|
SqliteFile: sqliteFile,
|
|
ChainId: chainId,
|
|
IpfsGatewayUrl: ipfsGatewayUrl,
|
|
SonrApiUrl: sonrApiUrl,
|
|
SonrGrpcUrl: sonrGrpcUrl,
|
|
SonrRpcUrl: sonrRpcUrl,
|
|
}
|
|
return &env, nil
|
|
}
|