github.com/kubeshop/testkube@v1.17.23/pkg/mapper/services/mapper.go (about)

     1  package services
     2  
     3  import (
     4  	"time"
     5  
     6  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     7  
     8  	testtriggersv1 "github.com/kubeshop/testkube-operator/api/testtriggers/v1"
     9  )
    10  
    11  // MapCRDConditionsToAPI maps Service CRD conditions to OpenAPI spec TestTriggerConditions
    12  func MapCRDConditionsToAPI(conditions []metav1.Condition, currentTime time.Time) []testtriggersv1.TestTriggerCondition {
    13  	var results []testtriggersv1.TestTriggerCondition
    14  	for _, condition := range conditions {
    15  		results = append(results, testtriggersv1.TestTriggerCondition{
    16  			Type_:  string(condition.Type),
    17  			Status: (*testtriggersv1.TestTriggerConditionStatuses)(&condition.Status),
    18  			Reason: condition.Reason,
    19  			Ttl:    int32(currentTime.Sub(condition.LastTransitionTime.Time) / time.Second),
    20  		})
    21  	}
    22  
    23  	return results
    24  }