kopia lustrzana https://github.com/reiver/greatape
31 wiersze
747 B
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)
|
|
}
|