github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/lib/website/methods.go (about) 1 package websiteLib 2 3 import ( 4 "fmt" 5 6 structureSpec "github.com/taubyte/go-specs/structure" 7 ) 8 9 func New(website *structureSpec.Website) error { 10 return set(website, true) 11 } 12 13 func Set(website *structureSpec.Website) error { 14 return set(website, false) 15 } 16 17 func Delete(name string) error { 18 info, err := get(name) 19 if err != nil { 20 return err 21 } 22 23 return info.website.Delete() 24 } 25 26 func List() ([]string, error) { 27 _, _, websites, err := list() 28 if err != nil { 29 return nil, err 30 } 31 32 return websites, nil 33 } 34 35 func ListResources() ([]*structureSpec.Website, error) { 36 project, application, relative, err := list() 37 if err != nil { 38 return nil, err 39 } 40 41 websites := make([]*structureSpec.Website, len(relative)) 42 for idx, name := range relative { 43 website, err := project.Website(name, application) 44 if err != nil { 45 return nil, err 46 } 47 48 websites[idx], err = website.Get().Struct() 49 if err != nil { 50 return nil, err 51 } 52 } 53 54 return websites, nil 55 } 56 57 func GetRepositoryUrl(website *structureSpec.Website) string { 58 switch website.Provider { 59 case "github": 60 return "https://github.com/" + website.RepoName 61 default: 62 panic(fmt.Sprintf("url for provider: `%s` not found", website.Provider)) 63 } 64 }