diff --git a/cmd/rpc/auth/main.go b/cmd/rpc/auth/main.go index 8923228ba..f1417366f 100644 --- a/cmd/rpc/auth/main.go +++ b/cmd/rpc/auth/main.go @@ -9,7 +9,7 @@ import ( ) func main() { - authCmd := cmd.NewAuthCmd() + authCmd := cmd.NewRpcCmd() authCmd.AddPortFlag() authCmd.AddPrometheusPortFlag() if err := authCmd.Exec(); err != nil { diff --git a/cmd/rpc/conversation/main.go b/cmd/rpc/conversation/main.go index 4e5006815..aa81a8de1 100644 --- a/cmd/rpc/conversation/main.go +++ b/cmd/rpc/conversation/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/cmd/rpc/friend/main.go b/cmd/rpc/friend/main.go index caf5750bf..7be637804 100644 --- a/cmd/rpc/friend/main.go +++ b/cmd/rpc/friend/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/cmd/rpc/group/main.go b/cmd/rpc/group/main.go index 1a4fa1355..0a96d28d4 100644 --- a/cmd/rpc/group/main.go +++ b/cmd/rpc/group/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImGroupName, friend.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImGroupName, friend.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/cmd/rpc/msg/main.go b/cmd/rpc/msg/main.go index be88b22a8..84bc8178a 100644 --- a/cmd/rpc/msg/main.go +++ b/cmd/rpc/msg/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/cmd/rpc/third/main.go b/cmd/rpc/third/main.go index 20dcbb421..3360bbd14 100644 --- a/cmd/rpc/third/main.go +++ b/cmd/rpc/third/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImThirdName, third.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImThirdName, third.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/cmd/rpc/user/main.go b/cmd/rpc/user/main.go index 9f82776b2..6438280d1 100644 --- a/cmd/rpc/user/main.go +++ b/cmd/rpc/user/main.go @@ -12,7 +12,11 @@ func main() { rpcCmd := cmd.NewRpcCmd() rpcCmd.AddPortFlag() rpcCmd.AddPrometheusPortFlag() - if err := rpcCmd.Exec(config.Config.RpcRegisterName.OpenImUserName, user.Start); err != nil { + if err := rpcCmd.Exec(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } + if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImUserName, user.Start); err != nil { fmt.Println(err.Error()) os.Exit(1) } diff --git a/pkg/common/cmd/push.go b/pkg/common/cmd/push.go index 432a49720..372be53a5 100644 --- a/pkg/common/cmd/push.go +++ b/pkg/common/cmd/push.go @@ -8,7 +8,7 @@ import ( ) type PushCmd struct { - *AuthCmd + *RpcCmd } func NewPushCmd() *PushCmd { diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index c2f43f266..cebbc0fe0 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -23,7 +23,7 @@ func NewRootCmd() (rootCmd *RootCmd) { }, } rootCmd.Command = c - rootCmd.init() + rootCmd.addConfFlag() return rootCmd } @@ -39,7 +39,7 @@ func (r *RootCmd) AddRpc(f func(port, prometheusPort int) error) { } } -func (r *RootCmd) init() { +func (r *RootCmd) addConfFlag() { r.Command.Flags().StringP(constant.FlagConf, "c", "", "Path to config file folder") } diff --git a/pkg/common/cmd/rpc.go b/pkg/common/cmd/rpc.go index 20ed935ab..a5a4e80c7 100644 --- a/pkg/common/cmd/rpc.go +++ b/pkg/common/cmd/rpc.go @@ -7,24 +7,23 @@ import ( "google.golang.org/grpc" ) -type AuthCmd struct { +type RpcCmd struct { *RootCmd } -func NewAuthCmd() *AuthCmd { - authCmd := &AuthCmd{NewRootCmd()} +func NewRpcCmd() *RpcCmd { + authCmd := &RpcCmd{NewRootCmd()} return authCmd } -func (a *AuthCmd) Exec() error { - a.Command.RunE = func(cmd *cobra.Command, args []string) error { +func (a *RpcCmd) Exec() error { + a.Command.Run = func(cmd *cobra.Command, args []string) { a.port = a.getPortFlag(cmd) a.prometheusPort = a.getPrometheusPortFlag(cmd) - return a.getConfFromCmdAndInit(cmd) } return a.Execute() } -func (a *AuthCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error { +func (a *RpcCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error { return startrpc.Start(a.GetPortFlag(), name, a.GetPrometheusPortFlag(), rpcFn) }