github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/present/job.go (about) 1 package present 2 3 import ( 4 "github.com/pf-qiu/concourse/v6/atc" 5 "github.com/pf-qiu/concourse/v6/atc/db" 6 ) 7 8 func Job( 9 teamName string, 10 job db.Job, 11 inputs []atc.JobInput, 12 outputs []atc.JobOutput, 13 finishedBuild db.Build, 14 nextBuild db.Build, 15 transitionBuild db.Build, 16 ) atc.Job { 17 var presentedNextBuild, presentedFinishedBuild, presentedTransitionBuild *atc.Build 18 19 if nextBuild != nil { 20 presented := Build(nextBuild) 21 presentedNextBuild = &presented 22 } 23 24 if finishedBuild != nil { 25 presented := Build(finishedBuild) 26 presentedFinishedBuild = &presented 27 } 28 29 if transitionBuild != nil { 30 presented := Build(transitionBuild) 31 presentedTransitionBuild = &presented 32 } 33 34 sanitizedInputs := []atc.JobInput{} 35 for _, input := range inputs { 36 sanitizedInputs = append(sanitizedInputs, atc.JobInput{ 37 Name: input.Name, 38 Resource: input.Resource, 39 Passed: input.Passed, 40 Trigger: input.Trigger, 41 }) 42 } 43 44 sanitizedOutputs := []atc.JobOutput{} 45 for _, output := range outputs { 46 sanitizedOutputs = append(sanitizedOutputs, atc.JobOutput{ 47 Name: output.Name, 48 Resource: output.Resource, 49 }) 50 } 51 52 return atc.Job{ 53 ID: job.ID(), 54 55 Name: job.Name(), 56 PipelineID: job.PipelineID(), 57 PipelineName: job.PipelineName(), 58 PipelineInstanceVars: job.PipelineInstanceVars(), 59 TeamName: teamName, 60 DisableManualTrigger: job.DisableManualTrigger(), 61 Paused: job.Paused(), 62 FirstLoggedBuildID: job.FirstLoggedBuildID(), 63 FinishedBuild: presentedFinishedBuild, 64 NextBuild: presentedNextBuild, 65 TransitionBuild: presentedTransitionBuild, 66 HasNewInputs: job.HasNewInputs(), 67 68 Inputs: sanitizedInputs, 69 Outputs: sanitizedOutputs, 70 71 Groups: job.Tags(), 72 } 73 }