diff --git a/cmd/command/add.go b/cmd/command/add.go index fe85d7d..7a212fe 100644 --- a/cmd/command/add.go +++ b/cmd/command/add.go @@ -41,9 +41,11 @@ var addCmd = &cobra.Command{ cobra.CheckErr(err) err = db.SaveCmd(cfgname, cfgcmd) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/command/command.go b/cmd/command/command.go index f9f58dc..ac0e7f9 100644 --- a/cmd/command/command.go +++ b/cmd/command/command.go @@ -8,6 +8,8 @@ import ( ) const ( + //sqlite doesn't have an error type for this error, but we want to catch when this error is thrown + //and provide the proper response. It should not be treated as an error if the db isn't setup. ErrInit = "sqlite3: SQL logic error: no such table: commands" ErrInitRsp = "The 'init' command must be run before mctl can be used" ) diff --git a/cmd/command/delete.go b/cmd/command/delete.go index ddd4577..95fcfa8 100644 --- a/cmd/command/delete.go +++ b/cmd/command/delete.go @@ -22,9 +22,11 @@ var deleteCmd = &cobra.Command{ defer db.Close() err = db.DeleteCmd(args[0]) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/command/run.go b/cmd/command/run.go index c739180..de4c67d 100644 --- a/cmd/command/run.go +++ b/cmd/command/run.go @@ -33,11 +33,11 @@ var runCmd = &cobra.Command{ defer db.Close() crun, err := db.GetCmd(cname) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return nil - } if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return nil + } return err } diff --git a/cmd/command/view.go b/cmd/command/view.go index a615eb3..66c1190 100644 --- a/cmd/command/view.go +++ b/cmd/command/view.go @@ -21,9 +21,11 @@ var viewCmd = &cobra.Command{ defer db.Close() ts, err := db.GetAllCmds() - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/destroy.go b/cmd/destroy.go index 4e892c3..dc51872 100644 --- a/cmd/destroy.go +++ b/cmd/destroy.go @@ -31,9 +31,11 @@ var destroyCmd = &cobra.Command{ defer db.Close() err = db.Destroy() - if err.Error() == command.ErrInit { - fmt.Println(command.ErrInitRsp) - return + if err != nil { + if err.Error() == command.ErrInit { + fmt.Println(command.ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/server/active.go b/cmd/server/active.go index 65922f1..fbb63b0 100644 --- a/cmd/server/active.go +++ b/cmd/server/active.go @@ -22,9 +22,11 @@ var activeCmd = &cobra.Command{ defer db.Close() err = db.SetActiveServer(args[0]) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/server/add.go b/cmd/server/add.go index 9d67339..51074bd 100644 --- a/cmd/server/add.go +++ b/cmd/server/add.go @@ -63,9 +63,11 @@ var addCmd = &cobra.Command{ Port: fp, Password: base64.StdEncoding.EncodeToString(ps), }) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/server/delete.go b/cmd/server/delete.go index 13bab0e..e18d61d 100644 --- a/cmd/server/delete.go +++ b/cmd/server/delete.go @@ -22,9 +22,11 @@ var deleteCmd = &cobra.Command{ defer db.Close() err = db.DeleteServer(args[0]) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/server/server.go b/cmd/server/server.go index 64352da..cfc9f73 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -8,6 +8,8 @@ import ( ) const ( + //sqlite doesn't have an error type for this error, but we want to catch when this error is thrown + //and provide the proper response. It should not be treated as an error if the db isn't setup. ErrInit = "sqlite3: SQL logic error: no such table: servers" ErrInitRsp = "The 'init' command must be run before mctl can be used" ) diff --git a/cmd/server/update.go b/cmd/server/update.go index f5368c1..c344edd 100644 --- a/cmd/server/update.go +++ b/cmd/server/update.go @@ -30,9 +30,11 @@ var updateCmd = &cobra.Command{ defer db.Close() err = db.UpdateServer(args[0], base64.StdEncoding.EncodeToString(ps)) - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err) diff --git a/cmd/server/view.go b/cmd/server/view.go index e52fb46..f13cd7a 100644 --- a/cmd/server/view.go +++ b/cmd/server/view.go @@ -21,9 +21,11 @@ var viewCmd = &cobra.Command{ defer db.Close() ts, err := db.GetAllServers() - if err.Error() == ErrInit { - fmt.Println(ErrInitRsp) - return + if err != nil { + if err.Error() == ErrInit { + fmt.Println(ErrInitRsp) + return + } } cobra.CheckErr(err)