package email import "strings" // mail related images hosted on github var ( netmakerLogoTeal = "https://raw.githubusercontent.com/gravitl/netmaker/netmaker_logos/img/logos/netmaker-logo-2.png" ) type EmailBodyBuilder interface { WithHeadline(text string) EmailBodyBuilder WithParagraph(text string) EmailBodyBuilder WithHtml(text string) EmailBodyBuilder WithSignature() EmailBodyBuilder Build() string } type EmailBodyBuilderWithH1HeadlineAndImage struct { headline string bodyContent []string hasSignature bool } func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithHeadline(text string) EmailBodyBuilder { b.headline = text return b } func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithParagraph(text string) EmailBodyBuilder { b.bodyContent = append(b.bodyContent, styledParagraph(text)) return b } func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithHtml(text string) EmailBodyBuilder { b.bodyContent = append(b.bodyContent, text) return b } func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithSignature() EmailBodyBuilder { b.hasSignature = true return b } func (b *EmailBodyBuilderWithH1HeadlineAndImage) Build() string { bodyContent := strings.Join(b.bodyContent, "") // TODO: Edit design to add signature. //signature := "" //if b.hasSignature { // signature = styledSignature() //} return ` Simple Transactional Email ` } func styledParagraph(text string) string { return `

` + text + `

` }