github.com/drycc/workflow-cli@v1.5.3-0.20240322092846-d4ee25983af9/cmd/domains.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 6 "github.com/drycc/controller-sdk-go/domains" 7 ) 8 9 // DomainsList lists domains registered with an app. 10 func (d *DryccCmd) DomainsList(appID string, results int) error { 11 s, appID, err := load(d.ConfigFile, appID) 12 13 if err != nil { 14 return err 15 } 16 17 if results == defaultLimit { 18 results = s.Limit 19 } 20 21 domains, count, err := domains.List(s.Client, appID, results) 22 if d.checkAPICompatibility(s.Client, err) != nil { 23 return err 24 } 25 if count > 0 { 26 table := d.getDefaultFormatTable([]string{"APP", "OWNER", "CREATED", "UPDATED", "DOMAIN"}) 27 for _, domain := range domains { 28 table.Append([]string{ 29 domain.App, 30 domain.Owner, 31 domain.Created, 32 domain.Updated, 33 domain.Domain, 34 }) 35 } 36 table.Render() 37 } else { 38 d.Println(fmt.Sprintf("No domains found in %s app.", appID)) 39 } 40 return nil 41 } 42 43 // DomainsAdd adds a domain to an app. 44 func (d *DryccCmd) DomainsAdd(appID, domain string) error { 45 s, appID, err := load(d.ConfigFile, appID) 46 47 if err != nil { 48 return err 49 } 50 51 d.Printf("Adding %s to %s... ", domain, appID) 52 53 quit := progress(d.WOut) 54 _, err = domains.New(s.Client, appID, domain) 55 quit <- true 56 <-quit 57 if d.checkAPICompatibility(s.Client, err) != nil { 58 return err 59 } 60 61 d.Println("done") 62 return nil 63 } 64 65 // DomainsRemove removes a domain registered with an app. 66 func (d *DryccCmd) DomainsRemove(appID, domain string) error { 67 s, appID, err := load(d.ConfigFile, appID) 68 69 if err != nil { 70 return err 71 } 72 73 d.Printf("Removing %s from %s... ", domain, appID) 74 75 quit := progress(d.WOut) 76 err = domains.Delete(s.Client, appID, domain) 77 quit <- true 78 <-quit 79 if d.checkAPICompatibility(s.Client, err) != nil { 80 return err 81 } 82 83 d.Println("done") 84 return nil 85 }