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

     1  package serviceLib
     2  
     3  import (
     4  	structureSpec "github.com/taubyte/go-specs/structure"
     5  )
     6  
     7  func New(service *structureSpec.Service) error {
     8  	return set(service, true)
     9  }
    10  
    11  func Set(service *structureSpec.Service) error {
    12  	return set(service, 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.service.Delete()
    22  }
    23  
    24  func List() ([]string, error) {
    25  	_, _, services, err := list()
    26  	if err != nil {
    27  		return nil, err
    28  	}
    29  
    30  	return services, nil
    31  }
    32  
    33  func ListResources() ([]*structureSpec.Service, error) {
    34  	project, application, relative, err := list()
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  
    39  	services := make([]*structureSpec.Service, len(relative))
    40  	for idx, name := range relative {
    41  		service, err := project.Service(name, application)
    42  		if err != nil {
    43  			return nil, err
    44  		}
    45  
    46  		services[idx], err = service.Get().Struct()
    47  		if err != nil {
    48  			return nil, err
    49  		}
    50  	}
    51  
    52  	return services, nil
    53  }