package service
import (
"context"
"fmt"
"github.com/urfave/cli"
)
func adminCommands(client *Client) []cli.Command {
return []cli.Command{
cli.Command{
Name: "admin",
Usage: "Admin",
Hidden: true,
Subcommands: []cli.Command{
cli.Command{
Name: "sign-url",
Usage: "Sign URL",
Flags: []cli.Flag{
cli.StringFlag{Name: "signer, s", Usage: "signer"},
cli.StringFlag{Name: "method, m", Usage: "GET, PUT, POST"},
cli.StringFlag{Name: "url, u", Usage: "url"},
},
Hidden: true,
ArgsUsage: "",
Action: func(c *cli.Context) error {
req := &AdminSignURLRequest{
Signer: c.String("signer"),
Method: c.String("method"),
URL: c.String("url"),
}
resp, err := client.RPCClient().AdminSignURL(context.TODO(), req)
if err != nil {
return err
}
fmt.Printf("%+v\n", resp)
return nil
},
},
cli.Command{
Name: "check",
Usage: "Check key",
Hidden: true,
Flags: []cli.Flag{
cli.StringFlag{Name: "signer, s", Usage: "signer"},
cli.StringFlag{Name: "check, c", Usage: "what to check: kid, all"},
},
Action: func(c *cli.Context) error {
req := &AdminCheckRequest{
Signer: c.String("signer"),
Check: c.String("check"),
}
resp, err := client.RPCClient().AdminCheck(context.TODO(), req)
if err != nil {
return err
}
fmt.Printf("%+v\n", resp)
return nil
},
},
},
},
}
}