fix: map setters

This commit is contained in:
Kevin Franklin Kim 2024-03-04 17:34:21 +01:00
parent 88b23c494b
commit 74a97246b0
No known key found for this signature in database
13 changed files with 87 additions and 73 deletions

View File

@ -1,4 +1,4 @@
# Sesamy
# Sesamy Go SDK
[![Build Status](https://github.com/foomo/sesamy-go/actions/workflows/test.yml/badge.svg?branch=main&event=push)](https://github.com/foomo/sesamy-go/actions/workflows/test.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/foomo/sesamy-go)](https://goreportcard.com/report/github.com/foomo/sesamy-go)

View File

@ -78,6 +78,20 @@ func SetBool(v bool) *string {
return Set("1")
}
func SetStringMap(v map[string]string) map[string]string {
if len(v) == 0 {
return nil
}
return v
}
func AddStringMap(t map[string]string, k string, v *string) {
if v == nil {
return
}
t[k] = *v
}
func Get[T any](v *T) T {
return *v
}

View File

@ -52,15 +52,15 @@ func (e *AddPaymentInfo) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterCoupon.String(), mp.SetString(e.Coupon))
mp.AddStringMap(eventParameter, mpv2.EventParameterPaymentType.String(), mp.SetString(e.PaymentType))
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameter: map[string]string{
mpv2.EventParameterCoupon.String(): e.Coupon,
mpv2.EventParameterPaymentType.String(): e.PaymentType,
},
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameter: mp.SetStringMap(eventParameter),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -52,15 +52,15 @@ func (e *AddShippingInfo) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterCoupon.String(), mp.SetString(e.Coupon))
mp.AddStringMap(eventParameter, mpv2.EventParameterShippingTier.String(), mp.SetString(e.ShippingTier))
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameter: map[string]string{
mpv2.EventParameterCoupon.String(): e.Coupon,
mpv2.EventParameterShippingTier.String(): e.ShippingTier,
},
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameter: mp.SetStringMap(eventParameter),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -48,11 +48,11 @@ func (e *AddToCart) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -48,11 +48,11 @@ func (e *AddToWishlist) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -50,14 +50,14 @@ func (e *BeginCheckout) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterCoupon.String(), mp.SetString(e.Coupon))
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameter: map[string]string{
mpv2.EventParameterCoupon.String(): e.Coupon,
},
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameter: mp.SetStringMap(eventParameter),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -19,9 +19,9 @@ type Login struct {
}
func (e *Login) MPv2() *mpv2.Event {
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterMethod.String(), mp.SetString(e.Method))
return &mpv2.Event{
EventParameter: map[string]string{
mpv2.EventParameterMethod.String(): *mp.SetString(e.Method),
},
EventParameter: mp.SetStringMap(eventParameter),
}
}

View File

@ -56,17 +56,17 @@ func (e *Purchase) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterTransactionID.String(), mp.SetString(e.TransactionID))
mp.AddStringMap(eventParameter, mpv2.EventParameterCoupon.String(), mp.SetString(e.Coupon))
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberShipping.String(), mp.SetFloat64(e.Shipping))
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberTax.String(), mp.SetFloat64(e.Tax))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameter: map[string]string{
mpv2.EventParameterTransactionID.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterCoupon.String(): *mp.SetFloat64(e.Value),
},
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterNumberShipping.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterNumberTax.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameter: mp.SetStringMap(eventParameter),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -56,17 +56,17 @@ func (e *Refund) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterTransactionID.String(), mp.SetString(e.TransactionID))
mp.AddStringMap(eventParameter, mpv2.EventParameterCoupon.String(), mp.SetString(e.Coupon))
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberShipping.String(), mp.SetFloat64(e.Shipping))
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberTax.String(), mp.SetFloat64(e.Tax))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameter: map[string]string{
mpv2.EventParameterTransactionID.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterCoupon.String(): *mp.SetFloat64(e.Value),
},
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterNumberShipping.String(): *mp.SetFloat64(e.Value),
mpv2.EventParameterNumberTax.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameter: mp.SetStringMap(eventParameter),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -48,11 +48,11 @@ func (e *RemoveFromCart) MPv2() *mpv2.Event {
for i, item := range e.Items {
items[i] = item.MPv2()
}
eventParameterNumber := map[string]string{}
mp.AddStringMap(eventParameterNumber, mpv2.EventParameterNumberValue.String(), mp.SetFloat64(e.Value))
return &mpv2.Event{
Currency: mp.SetString(e.Currency),
EventParameterNumber: map[string]string{
mpv2.EventParameterNumberValue.String(): *mp.SetFloat64(e.Value),
},
Items: items,
Currency: mp.SetString(e.Currency),
EventParameterNumber: mp.SetStringMap(eventParameterNumber),
Items: items,
}
}

View File

@ -19,9 +19,9 @@ type Search struct {
}
func (e *Search) MPv2() *mpv2.Event {
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterSearchTerm.String(), mp.SetString(e.SearchTerm))
return &mpv2.Event{
EventParameter: map[string]string{
mpv2.EventParameterSearchTerm.String(): *mp.SetString(e.SearchTerm),
},
EventParameter: mp.SetStringMap(eventParameter),
}
}

View File

@ -19,9 +19,9 @@ type SignUp struct {
}
func (e *SignUp) MPv2() *mpv2.Event {
eventParameter := map[string]string{}
mp.AddStringMap(eventParameter, mpv2.EventParameterMethod.String(), mp.SetString(e.Method))
return &mpv2.Event{
EventParameter: map[string]string{
mpv2.EventParameterMethod.String(): *mp.SetString(e.Method),
},
EventParameter: mp.SetStringMap(eventParameter),
}
}