github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/lib/project/interface.go (about)

     1  package projectLib
     2  
     3  import (
     4  	"github.com/taubyte/go-project-schema/project"
     5  	"github.com/taubyte/tau-cli/env"
     6  	"github.com/taubyte/tau-cli/i18n"
     7  	"github.com/taubyte/tau-cli/singletons/config"
     8  )
     9  
    10  func SelectedProjectInterface() (project.Project, error) {
    11  	configProject, err := SelectedProjectConfig()
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  
    16  	project, err := configProject.Interface()
    17  	if err != nil {
    18  		i18n.Help().BeSureToCloneProject()
    19  		return nil, err
    20  	}
    21  
    22  	return project, nil
    23  }
    24  
    25  func SelectedProjectConfig() (configProject config.Project, err error) {
    26  	selectedProject, err := env.GetSelectedProject()
    27  	if err != nil {
    28  		i18n.Help().BeSureToSelectProject()
    29  		return
    30  	}
    31  
    32  	configProject, err = config.Projects().Get(selectedProject)
    33  	if err != nil {
    34  		i18n.Help().BeSureToCloneProject()
    35  	}
    36  
    37  	return
    38  }
    39  
    40  func ConfirmSelectedProject() error {
    41  	_, err := env.GetSelectedProject()
    42  	if err != nil {
    43  		i18n.Help().BeSureToSelectProject()
    44  	}
    45  
    46  	return err
    47  }