github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/app_template_version.go (about)

     1  package model
     2  
     3  import (
     4  	"encoding/json"
     5  	"time"
     6  )
     7  
     8  // ApplicationTemplateVersion represents a struct for Application Template Version data
     9  type ApplicationTemplateVersion struct {
    10  	ID                    string
    11  	Version               string
    12  	Title                 *string
    13  	ReleaseDate           *string
    14  	CorrelationIDs        json.RawMessage
    15  	CreatedAt             time.Time
    16  	ApplicationTemplateID string
    17  }
    18  
    19  // ApplicationTemplateVersionInput represents a struct with the updatable fields
    20  type ApplicationTemplateVersionInput struct {
    21  	Version        string
    22  	Title          *string
    23  	ReleaseDate    *string
    24  	CorrelationIDs json.RawMessage
    25  }
    26  
    27  // ToApplicationTemplateVersion converts ApplicationTemplateVersionInput into ApplicationTemplateVersion
    28  func (a *ApplicationTemplateVersionInput) ToApplicationTemplateVersion(id, appTemplateID string) ApplicationTemplateVersion {
    29  	if a == nil {
    30  		return ApplicationTemplateVersion{}
    31  	}
    32  
    33  	return ApplicationTemplateVersion{
    34  		ID:                    id,
    35  		Version:               a.Version,
    36  		Title:                 a.Title,
    37  		ReleaseDate:           a.ReleaseDate,
    38  		CorrelationIDs:        a.CorrelationIDs,
    39  		ApplicationTemplateID: appTemplateID,
    40  	}
    41  }