diff --git a/cmd/list.go b/cmd/list.go index 0a2e177..855830e 100644 --- a/cmd/list.go +++ b/cmd/list.go @@ -4,55 +4,60 @@ Copyright © 2023 Laura Kalb package cmd import ( - "codeberg.org/lauralani/ovh-apikey-manager/app" "fmt" - "github.com/spf13/cobra" - "github.com/spf13/viper" "log" "os" "strconv" + + "codeberg.org/lauralani/ovh-apikey-manager/app" + "github.com/spf13/cobra" + "github.com/spf13/viper" ) // listCmd represents the list command var listCmd = &cobra.Command{ - Use: "list", - Short: "List all active API Keys", - Long: `Lists all of your currently active API Keys`, - Run: func(cmd *cobra.Command, args []string) { - client := app.GetOVHClient() - var applist []app.Application + Use: "list", + Short: "List all active API Keys", + Long: `Lists all of your currently active API Keys`, + Run: runList, + Args: cobra.NoArgs, + Example: "ovh-apikey-manager delete", +} - var appresponselist []int - err := client.Get("/me/api/application", &appresponselist) +func runList(cmd *cobra.Command, args []string) { + client := app.GetOVHClient() + var applist []app.Application + + var appresponselist []int + err := client.Get("/me/api/application", &appresponselist) + if err != nil { + log.Printf("Error getting application list: %q\n", err) + os.Exit(1) + } + + for _, appid := range appresponselist { + var application app.Application + + err := client.Get("/me/api/application/"+strconv.Itoa(appid), &application) if err != nil { - log.Printf("Error getting application list: %q\n", err) + log.Printf("Error getting application %v: %v", appid, err.Error()) os.Exit(1) } - for _, appid := range appresponselist { - var application app.Application + applist = append(applist, application) + } - err := client.Get("/me/api/application/"+strconv.Itoa(appid), &application) - if err != nil { - log.Printf("Error getting application %v: %v", appid, err.Error()) - os.Exit(1) - } + fmt.Println("List of current API-Keys:") + fmt.Println("Format: ID: [status] name (description)") + fmt.Printf("\"*\" shows API key used by this application\n\n") - applist = append(applist, application) + for _, item := range applist { + iscurrentkey := " " + if item.ApplicationKey == viper.GetString("OVH_APPLICATIONKEY") { + iscurrentkey = "* " } - - fmt.Println("List of current API-Keys:") - fmt.Println("Format: ID: [status] name (description)") - fmt.Printf("\"*\" shows API key used by this application\n\n") - - for _, item := range applist { - iscurrentkey := " " - if item.ApplicationKey == viper.GetString("OVH_APPLICATIONKEY") { - iscurrentkey = "* " - } - fmt.Printf("%v%v: [%v] %v (%v)\n", iscurrentkey, item.ApplicationID, item.Status, item.Name, item.Description) - } - }, + fmt.Printf("%v%v: [%v] %v (%v)\n", iscurrentkey, item.ApplicationID, item.Status, item.Name, item.Description) + } } func init() {