Documentation
¶
Index ¶
- Constants
- type ContactInfo
- type EmailClient
- type EmailMetadata
- type EmailOpt
- type EmailRecepient
- type NoopEmailClient
- type NotificationMetadata
- type NotificationType
- type PlainNotificationDto
- type Template
- type TemplatedNotificationDto
- type TwilioEmail
- type TwilioEmailIdentity
- type TwilioSMSIdentity
Constants ¶
View Source
const ( SenderNameOpt = "sender_name" ReplyToOpt = "reply_to" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContactInfo ¶
type EmailClient ¶
type EmailClient interface {
SendTemplatedEmail(ctx context.Context, recep EmailRecepient, subject string, template Template, o ...EmailOpt) error
SendHTMLEmail(ctx context.Context, recep EmailRecepient, subject, body string, o ...EmailOpt) error
}
func NewTwilioEmail ¶
func NewTwilioEmail(apiKey string, identity TwilioEmailIdentity) EmailClient
type EmailMetadata ¶
type EmailOpt ¶
type EmailOpt struct {
// contains filtered or unexported fields
}
func WithReplyTo ¶
func WithSenderName ¶
type EmailRecepient ¶
type NoopEmailClient ¶
type NoopEmailClient struct {
}
func (*NoopEmailClient) SendHTMLEmail ¶
func (cli *NoopEmailClient) SendHTMLEmail(ctx context.Context, recep EmailRecepient, header, htmlContent string, opts ...EmailOpt) error
func (*NoopEmailClient) SendTemplatedEmail ¶
func (cli *NoopEmailClient) SendTemplatedEmail(ctx context.Context, recep EmailRecepient, subject string, template Template, opts ...EmailOpt) error
type NotificationMetadata ¶
type NotificationMetadata struct {
Source string `json:"source"`
// Sender name will show up as the sender of the notification
EmailMetadata *EmailMetadata `json:"email_metadata,omitempty"`
CreationTimestamp time.Time `json:"creation_timestamp"`
DeliveryMethods []string `json:"delivery_methods"`
Type NotificationType `json:"type"`
}
type NotificationType ¶
type NotificationType string
const ( Templated NotificationType = "templated" Plain NotificationType = "plain" )
type PlainNotificationDto ¶
type PlainNotificationDto struct {
Metadata NotificationMetadata `json:"metadata"`
Subject string `json:"subject"`
Body string `json:"body"`
ContactInfo ContactInfo `json:"contact_info"`
}
type TemplatedNotificationDto ¶
type TemplatedNotificationDto struct {
Metadata NotificationMetadata `json:"metadata"`
Subject string `json:"subject"`
TemplateId string `json:"template_id"`
// data will be passed into the template engine
Data map[string]interface{} `json:"data"`
ContactInfo ContactInfo `json:"contact_info"`
}
type TwilioEmail ¶
type TwilioEmail struct {
Origin TwilioEmailIdentity
// contains filtered or unexported fields
}
func (*TwilioEmail) SendHTMLEmail ¶
func (cli *TwilioEmail) SendHTMLEmail(ctx context.Context, recep EmailRecepient, header, htmlContent string, opts ...EmailOpt) error
func (*TwilioEmail) SendTemplatedEmail ¶
func (cli *TwilioEmail) SendTemplatedEmail( ctx context.Context, recep EmailRecepient, subject string, template Template, opts ...EmailOpt) error
type TwilioEmailIdentity ¶
type TwilioSMSIdentity ¶
type TwilioSMSIdentity struct {
MessageServiceId string `yaml:"messageServiceId" json:"messageServiceId"`
}
Click to show internal directories.
Click to hide internal directories.