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  }