github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/present/resource.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 Resource(resource db.Resource) atc.Resource {
     9  	atcResource := atc.Resource{
    10  		Name:                 resource.Name(),
    11  		PipelineID:           resource.PipelineID(),
    12  		PipelineName:         resource.PipelineName(),
    13  		PipelineInstanceVars: resource.PipelineInstanceVars(),
    14  		TeamName:             resource.TeamName(),
    15  		Type:                 resource.Type(),
    16  		Icon:                 resource.Icon(),
    17  
    18  		PinComment: resource.PinComment(),
    19  
    20  		Build: resource.BuildSummary(),
    21  	}
    22  
    23  	if !resource.LastCheckEndTime().IsZero() {
    24  		atcResource.LastChecked = resource.LastCheckEndTime().Unix()
    25  	}
    26  
    27  	if resource.ConfigPinnedVersion() != nil {
    28  		atcResource.PinnedVersion = resource.ConfigPinnedVersion()
    29  		atcResource.PinnedInConfig = true
    30  	} else if resource.APIPinnedVersion() != nil {
    31  		atcResource.PinnedVersion = resource.APIPinnedVersion()
    32  		atcResource.PinnedInConfig = false
    33  	}
    34  
    35  	return atcResource
    36  }