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 }