github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/certs/list.go (about) 1 package certs 2 3 import ( 4 "fmt" 5 6 "github.com/Sirupsen/logrus" 7 "github.com/daticahealth/cli/commands/services" 8 "github.com/daticahealth/cli/models" 9 "github.com/olekukonko/tablewriter" 10 ) 11 12 func CmdList(ic ICerts, is services.IServices, downStream string) error { 13 service, err := is.RetrieveByLabel(downStream) 14 if err != nil { 15 return err 16 } 17 certs, err := ic.List(service.ID) 18 if err != nil { 19 return err 20 } 21 if certs == nil || len(*certs) == 0 { 22 logrus.Println("No certs found") 23 return nil 24 } 25 26 data := [][]string{{"NAME", "LET'S ENCRYPT STATUS"}} 27 for _, cert := range *certs { 28 data = append(data, []string{cert.Name, cert.LetsEncrypt.String()}) 29 } 30 31 table := tablewriter.NewWriter(logrus.StandardLogger().Out) 32 table.SetBorder(false) 33 table.SetRowLine(false) 34 table.SetCenterSeparator("") 35 table.SetColumnSeparator("") 36 table.SetRowSeparator("") 37 table.SetAutoWrapText(false) 38 table.AppendBulk(data) 39 table.Render() 40 return nil 41 } 42 43 func (c *SCerts) List(svcID string) (*[]models.Cert, error) { 44 headers := c.Settings.HTTPManager.GetHeaders(c.Settings.SessionToken, c.Settings.Version, c.Settings.Pod, c.Settings.UsersID) 45 resp, statusCode, err := c.Settings.HTTPManager.Get(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/certs", c.Settings.PaasHost, c.Settings.PaasHostVersion, c.Settings.EnvironmentID, svcID), headers) 46 if err != nil { 47 return nil, err 48 } 49 var certs []models.Cert 50 err = c.Settings.HTTPManager.ConvertResp(resp, statusCode, &certs) 51 if err != nil { 52 return nil, err 53 } 54 return &certs, nil 55 }