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

     1  package model
     2  
     3  import "github.com/kyma-incubator/compass/components/director/pkg/resource"
     4  
     5  // Tombstone missing godoc
     6  type Tombstone struct {
     7  	ID                           string
     8  	OrdID                        string
     9  	ApplicationID                *string
    10  	ApplicationTemplateVersionID *string
    11  	RemovalDate                  string
    12  }
    13  
    14  // TombstoneInput missing godoc
    15  type TombstoneInput struct {
    16  	OrdID       string `json:"ordId"`
    17  	RemovalDate string `json:"removalDate"`
    18  }
    19  
    20  // ToTombstone missing godoc
    21  func (i *TombstoneInput) ToTombstone(id string, resourceType resource.Type, resourceID string) *Tombstone {
    22  	if i == nil {
    23  		return nil
    24  	}
    25  
    26  	tombstone := &Tombstone{
    27  		ID:          id,
    28  		OrdID:       i.OrdID,
    29  		RemovalDate: i.RemovalDate,
    30  	}
    31  
    32  	if resourceType.IsTenantIgnorable() {
    33  		tombstone.ApplicationTemplateVersionID = &resourceID
    34  	} else if resourceType == resource.Application {
    35  		tombstone.ApplicationID = &resourceID
    36  	}
    37  
    38  	return tombstone
    39  }
    40  
    41  // SetFromUpdateInput missing godoc
    42  func (p *Tombstone) SetFromUpdateInput(update TombstoneInput) {
    43  	p.RemovalDate = update.RemovalDate
    44  }