remove duplicate rpcClient init

This commit is contained in:
2024-10-10 18:27:47 +02:00
parent b19eb8f422
commit 4ee522c26c

View File

@@ -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)