package ls import ( "fmt" "github.com/jedib0t/go-pretty/v6/table" cliapi "gitlink.org.cn/cloudream/jcs-pub/client/sdk/api/v1" clitypes "gitlink.org.cn/cloudream/jcs-pub/client/types" "gitlink.org.cn/cloudream/jcs-pub/jcsctl/cmd" ) func lsPackage(ctx *cmd.CommandContext, opt option, bktName string) error { var bktID clitypes.BucketID if opt.BucketID == 0 { bktResp, err := ctx.Client.Bucket().GetByName(cliapi.BucketGetByName{ Name: bktName, }) if err != nil { return fmt.Errorf("find bucket %v: %w", bktName, err) } bktID = bktResp.Bucket.BucketID } else { bktID = clitypes.BucketID(opt.BucketID) } pkgResp, err := ctx.Client.Package().ListBucketPackages(cliapi.PackageListBucketPackages{ BucketID: bktID, }) if err != nil { return fmt.Errorf("list packages in bucket %v: %w", bktName, err) } if opt.Long { fmt.Printf("total %v:\n", len(pkgResp.Packages)) tb := table.NewWriter() tb.AppendHeader(table.Row{"Package ID", "Bucket ID", "Name", "CreateTime"}) for _, p := range pkgResp.Packages { tb.AppendRow(table.Row{p.PackageID, p.BucketID, p.Name, p.CreateTime}) } fmt.Println(tb.Render()) } else { for _, p := range pkgResp.Packages { fmt.Println(p.Name) } } return nil }