Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 11 additions & 21 deletions buf.gen.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
version: v1
version: v2
managed:
enabled: true
override:
- file_option: go_package_prefix
value: github.com/raystack/compass/proto
plugins:
- plugin: buf.build/protocolbuffers/go:v1.31.0
- remote: buf.build/protocolbuffers/go:v1.31.0
out: proto
opt: paths=source_relative
- plugin: buf.build/grpc/go:v1.3.0
- remote: buf.build/bufbuild/validate-go:v1.0.2
out: proto
opt: paths=source_relative,require_unimplemented_servers=true
- plugin: buf.build/grpc-ecosystem/gateway:v2.16.0
out: proto
opt:
- paths=source_relative
- allow_repeated_fields_in_body=true
- plugin: buf.build/bufbuild/validate-go:v1.0.2
out: proto
opt:
- paths=source_relative
- plugin: buf.build/grpc-ecosystem/openapiv2:v2.16.0
opt: paths=source_relative
- remote: buf.build/connectrpc/go:v1.18.1
out: proto
opt:
- allow_repeated_fields_in_body=true
- output_format=yaml
- allow_merge=true
- merge_file_name=compass
- openapi_naming_strategy=simple
- json_names_for_fields=false
opt: paths=source_relative
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
107 changes: 46 additions & 61 deletions cli/assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package cli

import (
"fmt"
"github.com/raystack/compass/core/namespace"
"os"

"github.com/MakeNowJust/heredoc"
"github.com/raystack/compass/core/namespace"
"github.com/raystack/compass/internal/client"
compassv1beta1 "github.com/raystack/compass/proto/raystack/compass/v1beta1"

"github.com/MakeNowJust/heredoc"
"github.com/raystack/salt/cli/printer"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -76,14 +75,12 @@ func listAllAssetsCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetAllAssets(ctx, &compassv1beta1.GetAllAssetsRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetAllAssetsRequest{
Q: q,
QFields: qFields,
Types: types,
Expand All @@ -94,7 +91,7 @@ func listAllAssetsCommand(cfg *Config) *cobra.Command {
Size: size,
Offset: page,
})

res, err := clnt.GetAllAssets(cmd.Context(), req)
if err != nil {
return err
}
Expand All @@ -103,14 +100,14 @@ func listAllAssetsCommand(cfg *Config) *cobra.Command {
if output != "json" {
report := [][]string{}
report = append(report, []string{"ID", "TYPE", "SERVICE", "URN", "NAME", "VERSION"})
for _, i := range res.GetData() {
for _, i := range res.Msg.GetData() {
report = append(report, []string{i.Id, i.Type, i.Service, i.Urn, printer.Bluef("%s", i.Name), i.Version})
}
printer.Table(os.Stdout, report)

fmt.Println(printer.Cyanf("To view all the data in JSON format, use flag `-o json`"))
} else {
fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))
}

return nil
Expand Down Expand Up @@ -147,23 +144,22 @@ func viewAssetByIDCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetAssetByID(ctx, &compassv1beta1.GetAssetByIDRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetAssetByIDRequest{
Id: assetID,
})
res, err := clnt.GetAssetByID(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()

fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))
return nil
},
}
Expand Down Expand Up @@ -196,24 +192,22 @@ func editAssetCommand(cfg *Config) *cobra.Command {
return err
}

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.UpsertPatchAsset(ctx, &compassv1beta1.UpsertPatchAssetRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.UpsertPatchAssetRequest{
Asset: reqBody.Asset,
Upstreams: reqBody.Upstreams,
})

res, err := clnt.UpsertPatchAsset(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()

fmt.Println("ID: \t", printer.Greenf("%s", res.Id))
fmt.Println("ID: \t", printer.Greenf("%s", res.Msg.Id))
return nil
},
}
Expand All @@ -230,7 +224,7 @@ func deleteAssetByIDCommand(cfg *Config) *cobra.Command {
Use: "delete <id>",
Short: "delete asset with the given ID",
Example: heredoc.Doc(`
$ compass asset delete <id>
$ compass asset delete <id>
`),
Args: cobra.ExactArgs(1),
Annotations: map[string]string{
Expand All @@ -240,17 +234,16 @@ func deleteAssetByIDCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
_, err = clnt.DeleteAsset(ctx, &compassv1beta1.DeleteAssetRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.DeleteAssetRequest{
Id: assetID,
})
_, err = clnt.DeleteAsset(cmd.Context(), req)
if err != nil {
return err
}
Expand Down Expand Up @@ -281,28 +274,26 @@ func listAllTypesCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

ctx := client.SetMetadata(cmd.Context(), cfg.Client, "")
res, err := clnt.GetAllTypes(ctx, &compassv1beta1.GetAllTypesRequest{
req := client.NewRequest(cfg.Client, "", &compassv1beta1.GetAllTypesRequest{
Q: q,
QFields: qFields,
Types: types,
Services: services,
Data: data,
})

res, err := clnt.GetAllTypes(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()

report := [][]string{{"NAME", "COUNT"}}
for _, i := range res.GetData() {
for _, i := range res.Msg.GetData() {
report = append(report, []string{printer.Bluef("%s", i.Name), fmt.Sprintf("%v", i.Count)})
}
printer.Table(os.Stdout, report)
Expand Down Expand Up @@ -332,24 +323,23 @@ func listAssetStargazerCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetAssetStargazers(ctx, &compassv1beta1.GetAssetStargazersRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetAssetStargazersRequest{
Id: assetID,
Size: size,
Offset: page,
})
res, err := clnt.GetAssetStargazers(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()
fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))
return nil
},
}
Expand All @@ -371,17 +361,16 @@ func starAssetCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
_, err = clnt.StarAsset(ctx, &compassv1beta1.StarAssetRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.StarAssetRequest{
AssetId: assetID,
})
_, err = clnt.StarAsset(cmd.Context(), req)
if err != nil {
return err
}
Expand All @@ -407,17 +396,16 @@ func unstarAssetCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
_, err = clnt.UnstarAsset(ctx, &compassv1beta1.UnstarAssetRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.UnstarAssetRequest{
AssetId: assetID,
})
_, err = clnt.UnstarAsset(cmd.Context(), req)
if err != nil {
return err
}
Expand Down Expand Up @@ -447,17 +435,16 @@ func starredAssetCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetMyStarredAssets(ctx, &compassv1beta1.GetMyStarredAssetsRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetMyStarredAssetsRequest{
Size: size,
Offset: page,
})
res, err := clnt.GetMyStarredAssets(cmd.Context(), req)
if err != nil {
return err
}
Expand All @@ -466,14 +453,14 @@ func starredAssetCommand(cfg *Config) *cobra.Command {
if output != "json" {
report := [][]string{}
report = append(report, []string{"ID", "TYPE", "SERVICE", "URN", "NAME", "VERSION"})
for _, i := range res.GetData() {
for _, i := range res.Msg.GetData() {
report = append(report, []string{i.Id, i.Type, i.Service, i.Urn, printer.Bluef("%s", i.Name), i.Version})
}
printer.Table(os.Stdout, report)

fmt.Println(printer.Cyanf("To view all the data in JSON format, use flag `-o json`"))
} else {
fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))
}

return nil
Expand All @@ -498,25 +485,24 @@ func versionHistoryAssetCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetAssetVersionHistory(ctx, &compassv1beta1.GetAssetVersionHistoryRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetAssetVersionHistoryRequest{
Id: assetID,
Size: size,
Offset: page,
})
res, err := clnt.GetAssetVersionHistory(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()

fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))

return nil
},
Expand All @@ -541,25 +527,24 @@ func viewAssetByVersionCommand(cfg *Config) *cobra.Command {
spinner := printer.Spin("")
defer spinner.Stop()

clnt, cancel, err := client.Create(cmd.Context(), cfg.Client)
clnt, err := client.Create(cmd.Context(), cfg.Client)
if err != nil {
return err
}
defer cancel()

assetID := args[0]
assetVersion := args[1]
ctx := client.SetMetadata(cmd.Context(), cfg.Client, namespaceID)
res, err := clnt.GetAssetByVersion(ctx, &compassv1beta1.GetAssetByVersionRequest{
req := client.NewRequest(cfg.Client, namespaceID, &compassv1beta1.GetAssetByVersionRequest{
Id: assetID,
Version: assetVersion,
})
res, err := clnt.GetAssetByVersion(cmd.Context(), req)
if err != nil {
return err
}
spinner.Stop()

fmt.Println(printer.Bluef("%s", prettyPrint(res.GetData())))
fmt.Println(printer.Bluef("%s", prettyPrint(res.Msg.GetData())))

return nil
},
Expand Down
Loading
Loading