diff --git a/cmd/fs/ls.go b/cmd/fs/ls.go index bdbc94d8..f5c40bea 100644 --- a/cmd/fs/ls.go +++ b/cmd/fs/ls.go @@ -3,10 +3,9 @@ package fs import ( "fmt" - "github.com/databricks/bricks/project" "github.com/spf13/cobra" - - "github.com/databrickslabs/terraform-provider-databricks/storage" + "github.com/databricks/databricks-sdk-go/workspaces" + "github.com/databricks/databricks-sdk-go/service/dbfs" ) // lsCmd represents the ls command @@ -16,11 +15,17 @@ var lsCmd = &cobra.Command{ Long: `Lists files`, Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - api := storage.NewDbfsAPI(cmd.Context(), project.Current.Client()) - files, err := api.List(args[0], false) + // Question (shreyas): Where does the client pick up the login creds from ? Context ? + // Maybe this client can be added on a higher level ? + // Create issue to add tests for this ? How to write those for cli ? + workspacesClient := workspaces.New() + listStatusResponse, err := workspacesClient.Dbfs.ListStatus(cmd.Context(), + dbfs.ListStatusRequest{Path: args[0]}, + ) if err != nil { panic(err) } + files := listStatusResponse.Files // TODO: output formatting: JSON, CSV, tables and default for _, v := range files { fmt.Printf("[-] %s (%d, %v)\n", v.Path, v.FileSize, v.IsDir)