greatape/providers/outbound/email/sendgrid/provider.go

31 wiersze
747 B
Go

package sendgrid
import (
"github.com/reiver/greatape/providers/outbound/common/messaging"
"github.com/xeronith/diamante/contracts/email"
"github.com/xeronith/diamante/contracts/logging"
)
const ProviderName = "SENDGRID_EMAIL_PROVIDER"
type provider struct {
messaging messaging.IMessagingProvider
}
func NewProvider(logger logging.ILogger) email.IEmailProvider {
return &provider{
messaging: messaging.NewProvider(ProviderName, logger, handler),
}
}
func (provider *provider) Send(receiver, template string, args ...interface{}) error {
model := map[string]interface{}{}
if len(args) > 0 {
if data, ok := args[0].(map[string]interface{}); ok {
model = data
}
}
return provider.messaging.Send(receiver, template, model)
}