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  }