From 2a8b2af1c20b92e1965eb28823046fb2f41f3f51 Mon Sep 17 00:00:00 2001 From: hooperben Date: Wed, 26 Nov 2025 23:07:52 +1000 Subject: [PATCH 1/2] feat: added default flag to auth cli --- internal/auth/auth.go | 4 ++-- internal/gateways/gateways.go | 20 +++++++++++++++----- main.go | 13 +++++++++++-- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/internal/auth/auth.go b/internal/auth/auth.go index 82b40c6..f6da9de 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -12,7 +12,7 @@ import ( "time" ) -func SaveJWT() error { +func SaveJWT(useDefault bool) error { jwt, err := utils.GetInput("Enter your Pinata JWT") if err != nil { return err @@ -54,7 +54,7 @@ func SaveJWT() error { } fmt.Println("Authentication Successful!") - err = gateways.SetGateway("") + err = gateways.SetGateway("", useDefault) if err != nil { return err } diff --git a/internal/gateways/gateways.go b/internal/gateways/gateways.go index b4f18d1..a792954 100644 --- a/internal/gateways/gateways.go +++ b/internal/gateways/gateways.go @@ -35,7 +35,7 @@ func FindGatewayDomain() ([]byte, error) { return Domain, err } -func SetGateway(domain string) error { +func SetGateway(domain string, useDefault bool) error { if domain == "" { jwt, err := common.FindToken() if err != nil { @@ -71,11 +71,21 @@ func SetGateway(domain string) error { for i, item := range response.Data.Rows { options[i] = item.Domain + ".mypinata.cloud" } - domain, err := utils.MultiSelect(options) - if err != nil { - fmt.Println("Error:", err) - return nil + + if useDefault { + if len(options) == 0 { + return errors.New("no gateways available") + } + domain = options[0] + fmt.Printf("Using default gateway: %s\n", domain) + } else { + domain, err = utils.MultiSelect(options) + if err != nil { + fmt.Println("Error:", err) + return nil + } } + home, err := os.UserHomeDir() if err != nil { return err diff --git a/main.go b/main.go index 012a217..2c84d8e 100644 --- a/main.go +++ b/main.go @@ -29,8 +29,17 @@ func main() { Aliases: []string{"a"}, Usage: "Authorize the CLI with your Pinata JWT", ArgsUsage: "[your Pinata JWT]", + Flags: []cli.Flag{ + &cli.BoolFlag{ + Name: "default", + Aliases: []string{"d"}, + Value: false, + Usage: "Automatically select the first gateway without prompting", + }, + }, Action: func(ctx *cli.Context) error { - err := auth.SaveJWT() + useDefault := ctx.Bool("default") + err := auth.SaveJWT(useDefault) return err }, }, @@ -505,7 +514,7 @@ func main() { ArgsUsage: "[domain of the gateway]", Action: func(ctx *cli.Context) error { domain := ctx.Args().First() - err := gateways.SetGateway(domain) + err := gateways.SetGateway(domain, false) return err }, }, From f167e08d3ab1e02947d4a60cf3a7edc108f230ed Mon Sep 17 00:00:00 2001 From: hooperben Date: Wed, 26 Nov 2025 23:27:40 +1000 Subject: [PATCH 2/2] feat: added ability to pass in token --- internal/auth/auth.go | 15 +++++++++++---- main.go | 9 ++++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/internal/auth/auth.go b/internal/auth/auth.go index f6da9de..9b7c7a9 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -12,10 +12,17 @@ import ( "time" ) -func SaveJWT(useDefault bool) error { - jwt, err := utils.GetInput("Enter your Pinata JWT") - if err != nil { - return err +func SaveJWT(useDefault bool, token string) error { + var jwt string + var err error + + if token != "" { + jwt = token + } else { + jwt, err = utils.GetInput("Enter your Pinata JWT") + if err != nil { + return err + } } if jwt == "" { diff --git a/main.go b/main.go index 2c84d8e..7acef77 100644 --- a/main.go +++ b/main.go @@ -30,6 +30,12 @@ func main() { Usage: "Authorize the CLI with your Pinata JWT", ArgsUsage: "[your Pinata JWT]", Flags: []cli.Flag{ + &cli.StringFlag{ + Name: "token", + Aliases: []string{"t"}, + Value: "", + Usage: "Pinata JWT token (skips interactive input)", + }, &cli.BoolFlag{ Name: "default", Aliases: []string{"d"}, @@ -38,8 +44,9 @@ func main() { }, }, Action: func(ctx *cli.Context) error { + token := ctx.String("token") useDefault := ctx.Bool("default") - err := auth.SaveJWT(useDefault) + err := auth.SaveJWT(useDefault, token) return err }, },