diff --git a/cli/cmd/utils.go b/cli/cmd/utils.go index cafe1c3c0b7559610bc5ed794ffb4f3cf3894aa1..665c48a40b6800ec6e2c0de57aa08e6e25b4d5b7 100644 --- a/cli/cmd/utils.go +++ b/cli/cmd/utils.go @@ -76,34 +76,44 @@ func getDevices() ([]prompt.Suggest, error) { } func getSchemaTreeForDeviceID(id string) (map[string]*yang.Entry, error) { + spinner, _ := pterm.DefaultSpinner.Start("Fetching schema tree for Device with ID: %s", id) dev, err := pndAdapter.GetDevice(id) if err != nil { + spinner.Fail(err) return nil, err } sid, err := uuid.Parse(dev[0].GetSbi().GetId()) if err != nil { + spinner.Fail(err) return nil, err } + spinner.Success() return pndAdapter.GetSbiSchemaTree(sid) } -func getPnds() []prompt.Suggest { +func getPnds() ([]prompt.Suggest, error) { + spinner, _ := pterm.DefaultSpinner.Start("Fetching PNDs from controller.") resp, err := api.GetIds(viper.GetString("controllerAPIEndpoint")) if err != nil { - return []prompt.Suggest{} + spinner.Fail(err) + return []prompt.Suggest{}, err } s := []prompt.Suggest{} for _, pnd := range resp { s = append(s, prompt.Suggest{Text: pnd.GetId(), Description: pnd.GetDescription()}) } - return completer.SortSuggestionByText(s) + spinner.Success() + return completer.SortSuggestionByText(s), nil } -func getChangesByType(cType pnd.ChangeState) []prompt.Suggest { +func getChangesByType(cType pnd.ChangeState) ([]prompt.Suggest, error) { + spinner, _ := pterm.DefaultSpinner.Start("Fetching changes for type: %t", cType.String()) + resp, err := api.GetChanges(pndAdapter.Endpoint(), pndAdapter.ID().String()) if err != nil { - return []prompt.Suggest{} + spinner.Fail(err) + return []prompt.Suggest{}, err } s := []prompt.Suggest{} @@ -112,7 +122,8 @@ func getChangesByType(cType pnd.ChangeState) []prompt.Suggest { s = append(s, prompt.Suggest{Text: change.GetId(), Description: change.State.String()}) } } - return completer.SortSuggestionByText(s) + spinner.Success() + return completer.SortSuggestionByText(s), nil } // sliceContains checks if a slice contains the given item