feat(API): user invitations and emails
This commit is contained in:
1 parent
7aae704d0a
commit
acdef18b37
17 files changed
+1687
-7
No files matched your search
@@ -24,14 +24,25 @@ func NewMailRepository(smtp config.SmtpSettings) *MailRepository {
|
||||
|
||||
const defaultSubject = "RenewCMS | Action required"
|
||||
|
||||
func (m MailRepository) Render(templateName string, data any) (string, string, error) {
|
||||
subject := defaultSubject
|
||||
type subjectProvider interface {
|
||||
Subject() string
|
||||
}
|
||||
|
||||
func subjectFor(templateName string, data any) string {
|
||||
if provider, ok := data.(subjectProvider); ok {
|
||||
return provider.Subject()
|
||||
}
|
||||
switch templateName {
|
||||
case "verification":
|
||||
subject = "Verify your RenewCMS account"
|
||||
return "Verify your RenewCMS account"
|
||||
case "password-reset":
|
||||
subject = "Reset your RenewCMS password"
|
||||
return "Reset your RenewCMS password"
|
||||
}
|
||||
return defaultSubject
|
||||
}
|
||||
|
||||
func (m MailRepository) Render(templateName string, data any) (string, string, error) {
|
||||
subject := subjectFor(templateName, data)
|
||||
|
||||
tmpl, err := template.ParseFS(mailTemplateFiles, "templates/"+templateName+".html")
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user