github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/cli/commands/resources/project/list.go (about)

     1  package project
     2  
     3  import (
     4  	"fmt"
     5  
     6  	projectLib "github.com/taubyte/tau-cli/lib/project"
     7  	"github.com/taubyte/tau-cli/prompts/spinner"
     8  	auth_client "github.com/taubyte/tau-cli/singletons/auth_client"
     9  	projectTable "github.com/taubyte/tau-cli/table/project"
    10  	httpClient "github.com/taubyte/tau/clients/http/auth"
    11  	"github.com/urfave/cli/v2"
    12  )
    13  
    14  func list(ctx *cli.Context) error {
    15  	client, err := auth_client.Load()
    16  	if err != nil {
    17  		return err
    18  	}
    19  
    20  	stopGlobe := spinner.Globe()
    21  	projects, err := client.Projects()
    22  	if err != nil {
    23  		return fmt.Errorf("Query projects failed with %s", err.Error())
    24  	}
    25  
    26  	t := projectTable.ListNoRender(projects, func(project *httpClient.Project) string {
    27  		return projectLib.Description(project)
    28  	})
    29  
    30  	stopGlobe()
    31  	t.Render()
    32  
    33  	return nil
    34  }