Skip to content

Commit

Permalink
Add exit code 1 for unsuccesful commands
Browse files Browse the repository at this point in the history
  • Loading branch information
marevers committed Jun 13, 2024
1 parent 875f4a5 commit 9220ef9
Show file tree
Hide file tree
Showing 22 changed files with 150 additions and 264 deletions.
36 changes: 12 additions & 24 deletions cmd/apply-entry.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ limitations under the License.
package cmd

import (
"fmt"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -51,78 +49,68 @@ pleasant-cli apply entry --path 'Root/Folder1/TestEntry' --data '
}'`,
Run: func(cmd *cobra.Command, args []string) {
if !pleasant.CheckPrerequisites(pleasant.IsServerUrlSet(), pleasant.IsTokenValid()) {
return
pleasant.ExitFatal(pleasant.ErrPrereqNotMet)
}

baseUrl, bearerToken := pleasant.LoadConfig()

json, err := cmd.Flags().GetString("data")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

input, err := pleasant.UnmarshalEntry(json)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if cmd.Flags().Changed("path") {
resourcePath, err := cmd.Flags().GetString("path")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

pid, err := pleasant.GetParentIdByResourcePath(baseUrl, resourcePath, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if !pleasant.PathAndNameMatching(resourcePath, input.Name) {
fmt.Println("error: entry name from path and data do not match")
return
pleasant.ExitFatal("error: entry name from path and data do not match")
}

input.GroupId = pid

j, err := pleasant.MarshalEntry(input)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

json = j
}

id, err := pleasant.DuplicateEntryId(baseUrl, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if id != "" {
subPath := pleasant.PathEntry + "/" + id

_, err := pleasant.PatchJsonString(baseUrl, subPath, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println("Existing entry with id", id, "patched")
return
pleasant.Exit("Existing entry with id", id, "patched")
}

id, err = pleasant.PostJsonString(baseUrl, pleasant.PathEntry, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println(id)
pleasant.Exit(id)
},
}

Expand Down
36 changes: 12 additions & 24 deletions cmd/apply-folder.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ limitations under the License.
package cmd

import (
"fmt"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -49,78 +47,68 @@ pleasant-cli apply folder --path 'Root/Folder1/TestFolder' --data '
}'`,
Run: func(cmd *cobra.Command, args []string) {
if !pleasant.CheckPrerequisites(pleasant.IsServerUrlSet(), pleasant.IsTokenValid()) {
return
pleasant.ExitFatal(pleasant.ErrPrereqNotMet)
}

baseUrl, bearerToken := pleasant.LoadConfig()

json, err := cmd.Flags().GetString("data")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

input, err := pleasant.UnmarshalFolder(json)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if cmd.Flags().Changed("path") {
resourcePath, err := cmd.Flags().GetString("path")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

pid, err := pleasant.GetParentIdByResourcePath(baseUrl, resourcePath, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if !pleasant.PathAndNameMatching(resourcePath, input.Name) {
fmt.Println("error: folder name from path and data do not match")
return
pleasant.ExitFatal("error: folder name from path and data do not match")
}

input.ParentId = pid

j, err := pleasant.MarshalFolder(input)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

json = j
}

id, err := pleasant.DuplicateFolderId(baseUrl, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if id != "" {
subPath := pleasant.PathFolders + "/" + id

_, err := pleasant.PatchJsonString(baseUrl, subPath, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println("Existing folder with id", id, "patched")
return
pleasant.Exit("Existing folder with id", id, "patched")
}

id, err = pleasant.PostJsonString(baseUrl, pleasant.PathFolders, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println(id)
pleasant.Exit(id)
},
}

Expand Down
7 changes: 3 additions & 4 deletions cmd/config-cleartoken.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ limitations under the License.
package cmd

import (
"fmt"
"os"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)

Expand All @@ -34,11 +34,10 @@ pleasant-cli config cleartoken --token <PATH>`,
Run: func(cmd *cobra.Command, args []string) {
err := os.Remove(tokenFile)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println("Token file deleted:", tokenFile)
pleasant.Exit("Token file deleted:", tokenFile)
},
}

Expand Down
7 changes: 2 additions & 5 deletions cmd/config-serverurl.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ limitations under the License.
package cmd

import (
"fmt"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)
Expand All @@ -37,11 +35,10 @@ pleasant-cli config serverurl <SERVER URL>`,
Run: func(cmd *cobra.Command, args []string) {
err := pleasant.WriteConfigFile(cfgFile, "ServerUrl", args[0])
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println("Server URL saved to:", cfgFile)
pleasant.Exit("Server URL saved to:", cfgFile)
},
}

Expand Down
7 changes: 2 additions & 5 deletions cmd/config-timeout.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ limitations under the License.
package cmd

import (
"fmt"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)
Expand All @@ -35,11 +33,10 @@ pleasant-cli config timeout 30`,
Run: func(cmd *cobra.Command, args []string) {
err := pleasant.WriteConfigFile(cfgFile, "Timeout", args[0])
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println("Timeout saved to:", cfgFile)
pleasant.Exit("Timeout saved to:", cfgFile)
},
}

Expand Down
33 changes: 11 additions & 22 deletions cmd/create-entry.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ limitations under the License.
package cmd

import (
"fmt"

"github.com/marevers/pleasant-cli/pleasant"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -59,47 +57,41 @@ pleasant-cli create entry --path 'Root/Folder1/TestEntry' --data '
}'`,
Run: func(cmd *cobra.Command, args []string) {
if !pleasant.CheckPrerequisites(pleasant.IsServerUrlSet(), pleasant.IsTokenValid()) {
return
pleasant.ExitFatal(pleasant.ErrPrereqNotMet)
}

baseUrl, bearerToken := pleasant.LoadConfig()

json, err := cmd.Flags().GetString("data")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if cmd.Flags().Changed("path") {
resourcePath, err := cmd.Flags().GetString("path")
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

input, err := pleasant.UnmarshalEntry(json)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

pid, err := pleasant.GetParentIdByResourcePath(baseUrl, resourcePath, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if !pleasant.PathAndNameMatching(resourcePath, input.Name) {
fmt.Println("error: entry name from path and data do not match")
return
pleasant.ExitFatal("error: entry name from path and data do not match")
}

input.GroupId = pid

j, err := pleasant.MarshalEntry(input)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

json = j
Expand All @@ -108,23 +100,20 @@ pleasant-cli create entry --path 'Root/Folder1/TestEntry' --data '
if cmd.Flags().Changed("no-duplicates") {
exists, err := pleasant.DuplicateEntryExists(baseUrl, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

if exists {
fmt.Println(pleasant.ErrDuplicateEntry)
return
pleasant.ExitFatal(pleasant.ErrDuplicateEntry)
}
}

id, err := pleasant.PostJsonString(baseUrl, pleasant.PathEntry, json, bearerToken)
if err != nil {
fmt.Println(err)
return
pleasant.ExitFatal(err)
}

fmt.Println(id)
pleasant.Exit(id)
},
}

Expand Down
Loading

0 comments on commit 9220ef9

Please sign in to comment.