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

     1  package tombstone
     2  
     3  import (
     4  	"github.com/kyma-incubator/compass/components/director/internal/repo"
     5  	"github.com/kyma-incubator/compass/components/director/pkg/apperrors"
     6  
     7  	"github.com/kyma-incubator/compass/components/director/internal/model"
     8  )
     9  
    10  type converter struct {
    11  }
    12  
    13  // NewConverter missing godoc
    14  func NewConverter() *converter {
    15  	return &converter{}
    16  }
    17  
    18  // ToEntity missing godoc
    19  func (c *converter) ToEntity(in *model.Tombstone) *Entity {
    20  	if in == nil {
    21  		return nil
    22  	}
    23  
    24  	output := &Entity{
    25  		ID:                           in.ID,
    26  		OrdID:                        in.OrdID,
    27  		ApplicationID:                repo.NewNullableString(in.ApplicationID),
    28  		ApplicationTemplateVersionID: repo.NewNullableString(in.ApplicationTemplateVersionID),
    29  		RemovalDate:                  in.RemovalDate,
    30  	}
    31  
    32  	return output
    33  }
    34  
    35  // FromEntity missing godoc
    36  func (c *converter) FromEntity(entity *Entity) (*model.Tombstone, error) {
    37  	if entity == nil {
    38  		return nil, apperrors.NewInternalError("the Tombstone entity is nil")
    39  	}
    40  
    41  	output := &model.Tombstone{
    42  		ID:                           entity.ID,
    43  		OrdID:                        entity.OrdID,
    44  		ApplicationID:                repo.StringPtrFromNullableString(entity.ApplicationID),
    45  		ApplicationTemplateVersionID: repo.StringPtrFromNullableString(entity.ApplicationTemplateVersionID),
    46  		RemovalDate:                  entity.RemovalDate,
    47  	}
    48  
    49  	return output, nil
    50  }