Skip to content

Commit

Permalink
feat: add command to create ak sk (#164)
Browse files Browse the repository at this point in the history
  • Loading branch information
hunjixin committed Mar 24, 2024
1 parent 2f4cbd7 commit c9ccebf
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 4 deletions.
10 changes: 10 additions & 0 deletions api/aksk_opts.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,13 @@ func AkSkOption(ak, sk string) ClientOption {
return nil
}
}

func UPOption(user, password string) ClientOption {
return func(client *Client) error {
client.RequestEditors = append(client.RequestEditors, func(_ context.Context, req *http.Request) error {
req.SetBasicAuth(user, password)
return nil
})
return nil
}
}
49 changes: 49 additions & 0 deletions cmd/aksk.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package cmd

import (
"fmt"

"github.com/GitDataAI/jiaozifs/api"
"github.com/GitDataAI/jiaozifs/utils"
"github.com/spf13/cobra"
)

// versionCmd represents the version command
var akskCmd = &cobra.Command{
Use: "aksk",
Short: "ak sk command",
}

var createAkskCmd = &cobra.Command{
Use: "create",
Short: "create ak/sk",
RunE: func(cmd *cobra.Command, _ []string) error {
client, err := GetClient(cmd)
if err != nil {
return err
}

desc := cmd.Flags().Lookup("description").Value.String()
resp, err := client.CreateAksk(cmd.Context(), &api.CreateAkskParams{
Description: utils.String(desc),
})
if err != nil {
return err
}

result, err := api.ParseCreateAkskResponse(resp)
if err != nil {
return err
}

fmt.Printf("ak %s sk %s \n", result.JSON201.AccessKey, result.JSON201.SecretKey)
return nil
},
}

func init() {
rootCmd.AddCommand(akskCmd)

akskCmd.AddCommand(createAkskCmd)
createAkskCmd.Flags().String("description", "", "description")
}
9 changes: 8 additions & 1 deletion cmd/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,14 @@ func GetClient(cmd *cobra.Command) (*api.Client, error) {
url := cmd.Flags().Lookup("url").Value.String()
ak := cmd.Flags().Lookup("ak").Value.String()
sk := cmd.Flags().Lookup("sk").Value.String()
return api.NewClient(url, api.AkSkOption(ak, sk))

user := cmd.Flags().Lookup("user").Value.String()
password := cmd.Flags().Lookup("password").Value.String()

if len(ak) > 0 {
return api.NewClient(url, api.AkSkOption(ak, sk))
}
return api.NewClient(url, api.UPOption(user, password))
}

func tryLogError(resp *http.Response) string {
Expand Down
11 changes: 8 additions & 3 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ func init() {
_ = viper.BindPFlag("config", rootCmd.PersistentFlags().Lookup("config"))
_ = viper.BindPFlag("log.level", rootCmd.PersistentFlags().Lookup("log-level"))

uploadCmd.PersistentFlags().String("url", "https://127.0.0.1:34913", "url")
uploadCmd.PersistentFlags().String("ak", "", "access key")
uploadCmd.PersistentFlags().String("sk", "", "secret key")
rootCmd.PersistentFlags().String("ak", "", "access key")
rootCmd.PersistentFlags().String("sk", "", "secret key")

rootCmd.PersistentFlags().String("user", "", "user name")
rootCmd.PersistentFlags().String("password", "", "password")

rootCmd.PersistentFlags().String("url", "https://127.0.0.1:34913", "url")

}

0 comments on commit c9ccebf

Please sign in to comment.