github.com/Ingenico-ePayments/connect-sdk-go@v0.0.0-20240318153750-1f8cd329b9c9/webhooks/HelperBuilder.go (about) 1 package webhooks 2 3 import "github.com/Ingenico-ePayments/connect-sdk-go/communicator" 4 5 // HelperBuilder is used to build Helper objects 6 type HelperBuilder struct { 7 Marshaller communicator.Marshaller 8 SecretKeyStore SecretKeyStore 9 } 10 11 // WithMarshaller sets the marshaller 12 func (h *HelperBuilder) WithMarshaller(marshaller communicator.Marshaller) *HelperBuilder { 13 h.Marshaller = marshaller 14 15 return h 16 } 17 18 // WithSecretKeyStore sets the secretKeyStore 19 func (h *HelperBuilder) WithSecretKeyStore(secretKeyStore SecretKeyStore) *HelperBuilder { 20 h.SecretKeyStore = secretKeyStore 21 22 return h 23 } 24 25 // Build creates the Helper object 26 func (h *HelperBuilder) Build() (*Helper, error) { 27 return NewHelper(h.Marshaller, h.SecretKeyStore) 28 } 29 30 // NewHelperBuilder creates a HelperBuilder object 31 func NewHelperBuilder() *HelperBuilder { 32 return &HelperBuilder{} 33 }