From 4ee522c26c812163d4af1ebb4376783ad248777b Mon Sep 17 00:00:00 2001 From: kalipso Date: Thu, 10 Oct 2024 18:27:47 +0200 Subject: [PATCH] remove duplicate rpcClient init --- cmd/ppass/ppass.go | 121 +++++++++++---------------------------------- 1 file changed, 28 insertions(+), 93 deletions(-) diff --git a/cmd/ppass/ppass.go b/cmd/ppass/ppass.go index d119c91..a33af0e 100644 --- a/cmd/ppass/ppass.go +++ b/cmd/ppass/ppass.go @@ -1,8 +1,8 @@ package main import ( - "flag" "os" + RPC "net/rpc" "github.com/spf13/cobra" @@ -12,8 +12,9 @@ import ( ) var ( - dbPath = flag.String("db", "./db", "db file path") + dbPath string debug bool + rpcClient *RPC.Client ) // Create the root command @@ -27,19 +28,9 @@ var listCmd = &cobra.Command{ Use: "list", Short: "List all passwords", Run: func(cmd *cobra.Command, args []string) { - //all, _ := cmd.Flags().GetBool("all") - dbPath, _ := cmd.Flags().GetString("db") - - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - var names []string vault := "root" - err = client.Call("Query.GetAllNames", &vault, &names) + err := rpcClient.Call("Query.GetAllNames", &vault, &names) if err != nil { Logger.Error(err) @@ -57,19 +48,11 @@ var generateCmd = &cobra.Command{ Short: "Generate a Password", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - serviceName := args[0] var password *crypto.Password np := rpc.VaultService{ Vault: "root", Service: serviceName } - err = client.Call("Query.Generate", &np, &password) + err := rpcClient.Call("Query.Generate", &np, &password) if err != nil { Logger.Error(err) @@ -84,19 +67,11 @@ var showCmd = &cobra.Command{ Short: "show a Password", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - serviceName := args[0] var password *crypto.Password np := rpc.VaultService{ Vault: "root", Service: serviceName } - err = client.Call("Query.Get", &np, &password) + err := rpcClient.Call("Query.Get", &np, &password) if err != nil { Logger.Error(err) @@ -117,18 +92,10 @@ var addVaultCmd = &cobra.Command{ Short: "add a vault", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - vault := args[0] var placeholder int - err = client.Call("Query.AddVault", &vault, &placeholder) + err := rpcClient.Call("Query.AddVault", &vault, &placeholder) if err != nil { Logger.Error(err) @@ -144,18 +111,10 @@ var deleteVaultCmd = &cobra.Command{ Short: "delete a vault", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - vault := args[0] var placeholder int - err = client.Call("Query.DeleteVault", &vault, &placeholder) + err := rpcClient.Call("Query.DeleteVault", &vault, &placeholder) if err != nil { Logger.Error(err) @@ -170,16 +129,8 @@ var listVaultsCmd = &cobra.Command{ Use: "list", Short: "list all vaults", Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - var reply []string - err = client.Call("Query.ListVaults", 0, &reply) + err := rpcClient.Call("Query.ListVaults", 0, &reply) if err != nil { Logger.Error(err) @@ -203,16 +154,14 @@ var infoCmd = &cobra.Command{ Use: "info", Short: "print your own peerstring", Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) + var result *string + err := rpcClient.Call("Query.GetPeerString", 0, &result) if err != nil { - Logger.Errorf("dialing: %s\n", err) + Logger.Error(err) return } - var result *string - err = client.Call("Query.GetPeerString", 0, &result) Logger.Info(*result) }, } @@ -223,14 +172,6 @@ var addPeerCmd = &cobra.Command{ Short: "add a peer", Args: cobra.RangeArgs(1, 2), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - var vault string var peerString string @@ -244,7 +185,7 @@ var addPeerCmd = &cobra.Command{ var success *bool np := rpc.VaultPeer{ Vault: vault, Peer: peerString } - err = client.Call("Query.AddPeer", &np, &success) + err := rpcClient.Call("Query.AddPeer", &np, &success) if err != nil { Logger.Error(err) @@ -264,14 +205,6 @@ var removePeerCmd = &cobra.Command{ Short: "remove a peer", Args: cobra.RangeArgs(1, 2), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - var vault string var peerString string @@ -285,7 +218,7 @@ var removePeerCmd = &cobra.Command{ var success *bool np := rpc.VaultPeer{ Vault: vault, Peer: peerString } - err = client.Call("Query.DeletePeer", &np, &success) + err := rpcClient.Call("Query.DeletePeer", &np, &success) if err != nil { Logger.Error(err) @@ -305,14 +238,6 @@ var deleteCmd = &cobra.Command{ Short: "delete a Password", Args: cobra.RangeArgs(1, 2), Run: func(cmd *cobra.Command, args []string) { - dbPath, _ := cmd.Flags().GetString("db") - client, err := rpc.Receive(dbPath) - - if err != nil { - Logger.Errorf("dialing: %s\n", err) - return - } - var vault string var serviceName string @@ -326,7 +251,7 @@ var deleteCmd = &cobra.Command{ var success *bool np := rpc.VaultService{ Vault: vault, Service: serviceName } - err = client.Call("Query.Delete", &np, &success) + err := rpcClient.Call("Query.Delete", &np, &success) if err != nil { Logger.Error(err) @@ -340,9 +265,8 @@ var deleteCmd = &cobra.Command{ }, } - func init() { - rootCmd.PersistentFlags().String("db", "", "db path") + rootCmd.PersistentFlags().StringVar(&dbPath, "db", "", "db path") rootCmd.PersistentFlags().BoolVar(&debug, "debug", false, "enable debug mode") rootCmd.MarkPersistentFlagRequired("db") @@ -363,7 +287,18 @@ func init() { } func main() { - cobra.OnInitialize(func() { InitLogger(debug) }) + cobra.OnInitialize(func() { + var tmpClient *RPC.Client + tmpClient, err := rpc.Receive(dbPath) + rpcClient = tmpClient + + if err != nil { + Logger.Fatalf("dialing: %s\n", err) + return + } + + InitLogger(debug) + }) if err := rootCmd.Execute(); err != nil { Logger.Error(err) os.Exit(1)