You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ls_package.go 1.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package ls
  2. import (
  3. "fmt"
  4. "github.com/jedib0t/go-pretty/v6/table"
  5. cliapi "gitlink.org.cn/cloudream/jcs-pub/client/sdk/api/v1"
  6. clitypes "gitlink.org.cn/cloudream/jcs-pub/client/types"
  7. "gitlink.org.cn/cloudream/jcs-pub/jcsctl/cmd"
  8. )
  9. func lsPackage(ctx *cmd.CommandContext, opt option, bktName string) error {
  10. var bktID clitypes.BucketID
  11. if opt.BucketID == 0 {
  12. bktResp, err := ctx.Client.Bucket().GetByName(cliapi.BucketGetByName{
  13. Name: bktName,
  14. })
  15. if err != nil {
  16. return fmt.Errorf("find bucket %v: %w", bktName, err)
  17. }
  18. bktID = bktResp.Bucket.BucketID
  19. } else {
  20. bktID = clitypes.BucketID(opt.BucketID)
  21. }
  22. pkgResp, err := ctx.Client.Package().ListBucketPackages(cliapi.PackageListBucketPackages{
  23. BucketID: bktID,
  24. })
  25. if err != nil {
  26. return fmt.Errorf("list packages in bucket %v: %w", bktName, err)
  27. }
  28. if opt.Long {
  29. fmt.Printf("total %v:\n", len(pkgResp.Packages))
  30. tb := table.NewWriter()
  31. tb.AppendHeader(table.Row{"Package ID", "Bucket ID", "Name", "CreateTime"})
  32. for _, p := range pkgResp.Packages {
  33. tb.AppendRow(table.Row{p.PackageID, p.BucketID, p.Name, p.CreateTime})
  34. }
  35. fmt.Println(tb.Render())
  36. } else {
  37. for _, p := range pkgResp.Packages {
  38. fmt.Println(p.Name)
  39. }
  40. }
  41. return nil
  42. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。