Skip to content

Commit

Permalink
Merge pull request #18 from auth0/feature/apis-list
Browse files Browse the repository at this point in the history
feat: apis list
  • Loading branch information
Widcket authored Jan 25, 2021
2 parents 7fd930f + e311593 commit 9394d8b
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
41 changes: 41 additions & 0 deletions internal/cli/apis.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package cli

import (
"github.com/spf13/cobra"
)

func apisCmd(cli *cli) *cobra.Command {
cmd := &cobra.Command{
Use: "apis",
Short: "manage resources for APIs.",
}

cmd.SetUsageTemplate(resourceUsageTemplate())
cmd.AddCommand(listApisCmd(cli))

return cmd
}

func listApisCmd(cli *cli) *cobra.Command {
cmd := &cobra.Command{
Use: "list",
Short: "Lists your existing APIs",
Long: `$ auth0 apis list
Lists your existing APIs. To create one try:
$ auth0 apis create
`,
RunE: func(cmd *cobra.Command, args []string) error {
list, err := cli.api.ResourceServer.List()

if err != nil {
return err
}

cli.renderer.ApisList(list.ResourceServers)
return nil
},
}

return cmd
}
1 change: 1 addition & 0 deletions internal/cli/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ func Execute() {

rootCmd.AddCommand(loginCmd(cli))
rootCmd.AddCommand(clientsCmd(cli))
rootCmd.AddCommand(apisCmd(cli))
rootCmd.AddCommand(logsCmd(cli))
rootCmd.AddCommand(actionsCmd(cli))
rootCmd.AddCommand(rulesCmd(cli))
Expand Down
37 changes: 37 additions & 0 deletions internal/display/apis.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package display

import (
"github.com/auth0/auth0-cli/internal/ansi"
"gopkg.in/auth0.v5"
"gopkg.in/auth0.v5/management"
)

type apiView struct {
ID string
Name string
Identifier string
}

func (v *apiView) AsTableHeader() []string {
return []string{"ID", "Name", "Identifier"}
}

func (v *apiView) AsTableRow() []string {
return []string{ansi.Faint(v.ID), v.Name, v.Identifier}
}

func (r *Renderer) ApisList(apis []*management.ResourceServer) {
r.Heading(ansi.Bold(r.Tenant), "APIs\n")

var res []View

for _, api := range apis {
res = append(res, &apiView{
ID: auth0.StringValue(api.ID),
Name: auth0.StringValue(api.Name),
Identifier: auth0.StringValue(api.Identifier),
})
}

r.Results(res)
}

0 comments on commit 9394d8b

Please sign in to comment.