github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/lib/jobs/retrieve.go (about)

     1  package jobs
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/daticahealth/cli/models"
     7  )
     8  
     9  func (j *SJobs) Retrieve(jobID, svcID string, includeSpec bool) (*models.Job, error) {
    10  	headers := j.Settings.HTTPManager.GetHeaders(j.Settings.SessionToken, j.Settings.Version, j.Settings.Pod, j.Settings.UsersID)
    11  	resp, statusCode, err := j.Settings.HTTPManager.Get(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/jobs/%s?spec=true", j.Settings.PaasHost, j.Settings.PaasHostVersion, j.Settings.EnvironmentID, svcID, jobID), headers)
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  	var job models.Job
    16  	err = j.Settings.HTTPManager.ConvertResp(resp, statusCode, &job)
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  	return &job, nil
    21  }
    22  
    23  func (j *SJobs) RetrieveByStatus(svcID, status string) (*[]models.Job, error) {
    24  	headers := j.Settings.HTTPManager.GetHeaders(j.Settings.SessionToken, j.Settings.Version, j.Settings.Pod, j.Settings.UsersID)
    25  	resp, statusCode, err := j.Settings.HTTPManager.Get(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/jobs?status=%s", j.Settings.PaasHost, j.Settings.PaasHostVersion, j.Settings.EnvironmentID, svcID, status), headers)
    26  	if err != nil {
    27  		return nil, err
    28  	}
    29  	var jobs []models.Job
    30  	err = j.Settings.HTTPManager.ConvertResp(resp, statusCode, &jobs)
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  	return &jobs, nil
    35  }
    36  
    37  func (j *SJobs) RetrieveByType(svcID, jobType string, page, pageSize int) (*[]models.Job, error) {
    38  	headers := j.Settings.HTTPManager.GetHeaders(j.Settings.SessionToken, j.Settings.Version, j.Settings.Pod, j.Settings.UsersID)
    39  	resp, statusCode, err := j.Settings.HTTPManager.Get(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/jobs?type=%s&pageNumber=%d&pageSize=%d", j.Settings.PaasHost, j.Settings.PaasHostVersion, j.Settings.EnvironmentID, svcID, jobType, page, pageSize), headers)
    40  	if err != nil {
    41  		return nil, err
    42  	}
    43  	var jobs []models.Job
    44  	err = j.Settings.HTTPManager.ConvertResp(resp, statusCode, &jobs)
    45  	if err != nil {
    46  		return nil, err
    47  	}
    48  	return &jobs, nil
    49  }
    50  
    51  func (j *SJobs) RetrieveByTarget(svcID, target string, page, pageSize int) (*[]models.Job, error) {
    52  	var res []models.Job
    53  	jobs, err := j.RetrieveByType(svcID, "worker", page, pageSize)
    54  	if err != nil {
    55  		return nil, err
    56  	}
    57  	for _, j := range *jobs {
    58  		if j.Target == target {
    59  			res = append(res, j)
    60  		}
    61  	}
    62  	return &res, nil
    63  }