Skip to content
This repository was archived by the owner on Dec 28, 2024. It is now read-only.

Commit d701cec

Browse files
authored
Bump svix version and add app-portal command (#87)
Bump to the latest library version (`0.75.0`) This command uses the new `app-portal-access` endpoint instead of the deprecated `dashboard-access` one, supporting adding an optional request body.
1 parent 58e62ac commit d701cec

File tree

7 files changed

+58
-22
lines changed

7 files changed

+58
-22
lines changed

cmd/application.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ Example Schema:
8181
if cmd.Flags().Changed(uidFlagName) {
8282
uidFlag, err := cmd.Flags().GetString(uidFlagName)
8383
printer.CheckErr(err)
84-
app.Uid = &uidFlag
84+
app.Uid.Set(&uidFlag)
8585
}
8686
if cmd.Flags().Changed(rateLimitFlagName) {
8787
rateLimitFlag, err := cmd.Flags().GetInt32(rateLimitFlagName)
8888
printer.CheckErr(err)
89-
app.RateLimit = &rateLimitFlag
89+
app.RateLimit.Set(&rateLimitFlag)
9090
}
9191

9292
// validate args
@@ -166,12 +166,12 @@ Example Schema:
166166
if cmd.Flags().Changed(uidFlagName) {
167167
uidFlag, err := cmd.Flags().GetString(uidFlagName)
168168
printer.CheckErr(err)
169-
app.Uid = &uidFlag
169+
app.Uid.Set(&uidFlag)
170170
}
171171
if cmd.Flags().Changed(rateLimitFlagName) {
172172
rateLimitFlag, err := cmd.Flags().GetInt32(rateLimitFlagName)
173173
printer.CheckErr(err)
174-
app.RateLimit = &rateLimitFlag
174+
app.RateLimit.Set(&rateLimitFlag)
175175
}
176176

177177
svixClient := getSvixClientOrExit()

cmd/authentication.go

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package cmd
22

33
import (
4+
"encoding/json"
5+
46
"github.com/spf13/cobra"
57
"github.com/svix/svix-cli/pretty"
8+
"github.com/svix/svix-cli/utils"
69
"github.com/svix/svix-cli/validators"
710
svix "github.com/svix/svix-webhooks/go"
811
)
@@ -19,12 +22,13 @@ func newAuthenticationCmd() *authenticationCmd {
1922
Aliases: []string{"auth"},
2023
}
2124

22-
// dashboard
25+
// dashboard -- deprecated
2326
dashboard := &cobra.Command{
24-
Use: "dashboard-access APP_ID",
25-
Short: "Get a dashboard URL for the given app",
26-
Args: validators.ExactArgs(1),
27-
Aliases: []string{"dashboard"},
27+
Use: "dashboard-access APP_ID",
28+
Short: "Get a dashboard URL for the given app",
29+
Args: validators.ExactArgs(1),
30+
Aliases: []string{"dashboard"},
31+
Deprecated: "use app-portal instead",
2832
Run: func(cmd *cobra.Command, args []string) {
2933
appID := args[0]
3034
printer := pretty.NewPrinter(getPrinterOptions(cmd))
@@ -54,5 +58,39 @@ func newAuthenticationCmd() *authenticationCmd {
5458
}
5559
ac.cmd.AddCommand(logout)
5660

61+
// app-portal
62+
appPortal := &cobra.Command{
63+
Use: "app-portal APP_ID [JSON_PAYLOAD]",
64+
Short: "Get app portal access for the given app ID",
65+
Args: validators.RangeArgs(1, 2),
66+
Run: func(cmd *cobra.Command, args []string) {
67+
appID := args[0]
68+
printer := pretty.NewPrinter(getPrinterOptions(cmd))
69+
70+
var payloadBytes []byte
71+
72+
if len(args) > 1 {
73+
payloadBytes = []byte(args[1])
74+
} else if readable, _ := utils.IsStdinReadable(); readable {
75+
bytes, err := utils.ReadStdin()
76+
printer.CheckErr(err)
77+
payloadBytes = bytes
78+
}
79+
80+
var appPortalAccessIn svix.AppPortalAccessIn
81+
if len(payloadBytes) > 0 {
82+
err := json.Unmarshal(payloadBytes, &appPortalAccessIn)
83+
printer.CheckErr(err)
84+
}
85+
86+
svixClient := getSvixClientOrExit()
87+
out, err := svixClient.Authentication.AppPortalAccess(appID, &appPortalAccessIn)
88+
89+
printer.CheckErr(err)
90+
printer.Print(out)
91+
},
92+
}
93+
ac.cmd.AddCommand(appPortal)
94+
5795
return ac
5896
}

cmd/endpoint.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ Example Schema:
9898
if cmd.Flags().Changed(filterTypesFlagName) {
9999
filterTypesFlag, err := cmd.Flags().GetStringArray(filterTypesFlagName)
100100
printer.CheckErr(err)
101-
ep.FilterTypes = &filterTypesFlag
101+
ep.FilterTypes = filterTypesFlag
102102
}
103103
if cmd.Flags().Changed(rateLimitFlagName) {
104104
rateLimitFlag, err := cmd.Flags().GetInt32(rateLimitFlagName)
105105
printer.CheckErr(err)
106-
ep.RateLimit = &rateLimitFlag
106+
ep.RateLimit.Set(&rateLimitFlag)
107107
}
108108
if cmd.Flags().Changed(disabledFlagName) {
109109
disabledFlag, err := cmd.Flags().GetBool(disabledFlagName)
@@ -196,12 +196,12 @@ Example Schema:
196196
if cmd.Flags().Changed(filterTypesFlagName) {
197197
filterTypesFlag, err := cmd.Flags().GetStringArray(filterTypesFlagName)
198198
printer.CheckErr(err)
199-
ep.FilterTypes = &filterTypesFlag
199+
ep.FilterTypes = filterTypesFlag
200200
}
201201
if cmd.Flags().Changed(rateLimitFlagName) {
202202
rateLimitFlag, err := cmd.Flags().GetInt32(rateLimitFlagName)
203203
printer.CheckErr(err)
204-
ep.RateLimit = &rateLimitFlag
204+
ep.RateLimit.Set(&rateLimitFlag)
205205
}
206206
if cmd.Flags().Changed(disabledFlagName) {
207207
disabledFlag, err := cmd.Flags().GetBool(disabledFlagName)
@@ -336,7 +336,7 @@ Example Schema:
336336
in, err = utils.ReadStdin()
337337
printer.CheckErr(err)
338338
}
339-
var headersIn svix.EndpointHeadersIn
339+
var headersIn svix.EndpointHeadersPatchIn
340340
if len(in) > 0 {
341341
err := json.Unmarshal(in, &headersIn)
342342
printer.CheckErr(err)

cmd/message.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Example Schema:
9494
if cmd.Flags().Changed(eventIdFlagName) {
9595
eventIdFlag, err := cmd.Flags().GetString(eventIdFlagName)
9696
printer.CheckErr(err)
97-
msg.EventId = &eventIdFlag
97+
msg.EventId.Set(&eventIdFlag)
9898
}
9999
if cmd.Flags().Changed(payloadFlagName) {
100100
payloadFlag, err := cmd.Flags().GetString(payloadFlagName)

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ require (
1212
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
1313
github.com/spf13/cobra v1.3.0
1414
github.com/spf13/viper v1.10.0
15-
github.com/svix/svix-webhooks v0.52.0
15+
github.com/svix/svix-webhooks v0.75.0
1616
github.com/tidwall/pretty v1.1.1
1717
)

go.sum

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,8 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc
358358
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
359359
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
360360
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
361-
github.com/svix/svix-webhooks v0.46.0 h1:nmp8PDRp2j7GPzVlnOQX2AxVk2+CS5T1aXKKyCjgbJo=
362-
github.com/svix/svix-webhooks v0.46.0/go.mod h1:vWwH7D6zMhF9pCLfgLlogcXGDmnGqIJeIT9AXorZTAQ=
363-
github.com/svix/svix-webhooks v0.52.0 h1:tBDDYSRCSlx0sGY4ciJBWwoKQ9sp8S1+EsYIy6ZGktg=
364-
github.com/svix/svix-webhooks v0.52.0/go.mod h1:vWwH7D6zMhF9pCLfgLlogcXGDmnGqIJeIT9AXorZTAQ=
361+
github.com/svix/svix-webhooks v0.75.0 h1:GH8myVTh6EDlVIHbyEXqs6bA8a/zSBH3JmZKRdD10WQ=
362+
github.com/svix/svix-webhooks v0.75.0/go.mod h1:vWwH7D6zMhF9pCLfgLlogcXGDmnGqIJeIT9AXorZTAQ=
365363
github.com/tidwall/pretty v1.1.1 h1:nt6/Ot5LtZnJCWwEFlelOixPo0xhPFsuZlKyOL3Xfnc=
366364
github.com/tidwall/pretty v1.1.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
367365
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=

inout/eventtypes.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ func GetAllEventTypes(sc *svix.Svix) ([]svix.EventTypeOut, error) {
8383
for _, et := range out.Data {
8484
eventTypes = append(eventTypes, svix.EventTypeOut(et))
8585
}
86-
if out.Iterator != nil {
87-
iterator = out.Iterator
86+
if out.Iterator.Get() != nil {
87+
iterator = out.Iterator.Get()
8888
}
8989
done = out.Done
9090
}

0 commit comments

Comments
 (0)