github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/domain/formationtemplateconstraintreferences/service.go (about) 1 package formationtemplateconstraintreferences 2 3 import ( 4 "context" 5 6 "github.com/kyma-incubator/compass/components/director/internal/model" 7 "github.com/kyma-incubator/compass/components/director/pkg/log" 8 "github.com/pkg/errors" 9 ) 10 11 //go:generate mockery --exported --name=formationTemplateConstraintReferenceRepository --output=automock --outpkg=automock --case=underscore --disable-version-string 12 type formationTemplateConstraintReferenceRepository interface { 13 Create(ctx context.Context, item *model.FormationTemplateConstraintReference) error 14 Delete(ctx context.Context, formationTemplateID, constraintID string) error 15 } 16 17 type service struct { 18 repo formationTemplateConstraintReferenceRepository 19 converter constraintReferenceConverter 20 } 21 22 // NewService creates a FormationTemplateConstraintReference service 23 func NewService(repo formationTemplateConstraintReferenceRepository, converter constraintReferenceConverter) *service { 24 return &service{ 25 repo: repo, 26 converter: converter, 27 } 28 } 29 30 // Create creates formation template constraint reference using the provided input 31 func (s *service) Create(ctx context.Context, in *model.FormationTemplateConstraintReference) error { 32 log.C(ctx).Infof("Creating an Formation Template Constraint Reference for Constraint with ID %q and Formation Template with ID %q", in.ConstraintID, in.FormationTemplateID) 33 34 if err := s.repo.Create(ctx, in); err != nil { 35 return errors.Wrapf(err, "while creating Formation Template Constraint Reference for Constraint with ID %q and Formation Template with ID %q", in.ConstraintID, in.FormationTemplateID) 36 } 37 38 return nil 39 } 40 41 // Delete deletes formation template constraint reference by constraint ID and formation template ID 42 func (s *service) Delete(ctx context.Context, constraintID, formationTemplateID string) error { 43 if err := s.repo.Delete(ctx, formationTemplateID, constraintID); err != nil { 44 return errors.Wrapf(err, "while deleting Formation Template Constraint Reference for Constraint with ID %q and Formation Template with ID %q", constraintID, formationTemplateID) 45 } 46 47 return nil 48 }