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

     1  package libraryLib
     2  
     3  import (
     4  	structureSpec "github.com/taubyte/go-specs/structure"
     5  )
     6  
     7  func New(library *structureSpec.Library) error {
     8  	return set(library, true)
     9  }
    10  
    11  func Set(library *structureSpec.Library) error {
    12  	return set(library, false)
    13  }
    14  
    15  func Delete(name string) error {
    16  	info, err := get(name)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	return info.library.Delete()
    22  }
    23  
    24  func List() ([]string, error) {
    25  	_, _, libraries, err := list()
    26  	if err != nil {
    27  		return nil, err
    28  	}
    29  
    30  	return libraries, nil
    31  }
    32  
    33  func ListResources() ([]*structureSpec.Library, error) {
    34  	project, application, relative, err := list()
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  
    39  	libraries := make([]*structureSpec.Library, len(relative))
    40  	for idx, name := range relative {
    41  		library, err := project.Library(name, application)
    42  		if err != nil {
    43  			return nil, err
    44  		}
    45  
    46  		libraries[idx], err = library.Get().Struct()
    47  		if err != nil {
    48  			return nil, err
    49  		}
    50  	}
    51  
    52  	return libraries, nil
    53  }