Skip to content

Commit 23d498d

Browse files
committed
feat(rdb): add nice human marshalling for add/delete rules
1 parent 2d4a8a2 commit 23d498d

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

internal/namespaces/rdb/v1/custom.go

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ func GetCommands() *core.Commands {
3333
instanceConnectCommand(),
3434
backupWaitCommand(),
3535
))
36+
cmds.MustFind("rdb", "acl", "add").Override(aclAddBuilder)
37+
cmds.MustFind("rdb", "acl", "delete").Override(aclDeleteBuilder)
38+
3639
cmds.MustFind("rdb", "backup", "create").Override(backupCreateBuilder)
3740
cmds.MustFind("rdb", "backup", "export").Override(backupExportBuilder)
3841
cmds.MustFind("rdb", "backup", "restore").Override(backupRestoreBuilder)
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package rdb
2+
3+
import (
4+
"context"
5+
6+
"github.com/scaleway/scaleway-cli/internal/core"
7+
"github.com/scaleway/scaleway-sdk-go/api/rdb/v1"
8+
)
9+
10+
func aclAddBuilder(c *core.Command) *core.Command {
11+
c.Interceptor = func(ctx context.Context, argsI interface{}, runner core.CommandRunner) (interface{}, error) {
12+
aclAddResponseI, err := runner(ctx, argsI)
13+
if err != nil {
14+
return nil, err
15+
}
16+
aclAddResponse := aclAddResponseI.(*rdb.AddInstanceACLRulesResponse)
17+
return rdb.ListInstanceACLRulesResponse{
18+
Rules: aclAddResponse.Rules,
19+
TotalCount: uint32(len(aclAddResponse.Rules)),
20+
}, nil
21+
}
22+
23+
return c
24+
}
25+
26+
func aclDeleteBuilder(c *core.Command) *core.Command {
27+
c.Interceptor = func(ctx context.Context, argsI interface{}, runner core.CommandRunner) (interface{}, error) {
28+
aclDeleteResponseI, err := runner(ctx, argsI)
29+
if err != nil {
30+
return nil, err
31+
}
32+
aclDeleteResponse := aclDeleteResponseI.(*rdb.DeleteInstanceACLRulesResponse)
33+
return rdb.ListInstanceACLRulesResponse{
34+
Rules: aclDeleteResponse.Rules,
35+
TotalCount: uint32(len(aclDeleteResponse.Rules)),
36+
}, nil
37+
}
38+
39+
return c
40+
}

0 commit comments

Comments
 (0)