Skip to content

Commit ff7469c

Browse files
committed
embed templates into bin
Signed-off-by: William <[email protected]>
1 parent a3516ce commit ff7469c

File tree

5 files changed

+7
-4
lines changed

5 files changed

+7
-4
lines changed

Dockerfile

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ FROM alpine:3.14
1515
RUN apk add --no-cache bash
1616
RUN apk add tzdata
1717
COPY --from=build_base /tmp/speedy_auth/speedy_auth /app/speedy_auth
18-
COPY --from=build_base /tmp/speedy_auth/static/email_templates/* /static/email_templates/
1918
RUN cp /usr/share/zoneinfo/Africa/Johannesburg /etc/localtime
2019
RUN echo "Africa/Johannesburg" > /etc/timezone
2120
RUN cd /app

internal/services/email_service.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package services
33
import (
44
"bytes"
55
"crypto/tls"
6+
"embed"
67
"html/template"
78
"log"
89
"os"
@@ -12,6 +13,9 @@ import (
1213
"gopkg.in/gomail.v2"
1314
)
1415

16+
//go:embed email_templates
17+
var staticFS embed.FS
18+
1519
type EmailService interface {
1620
SendTwoFactorRequest(randomCode string, userDetails models.User) error
1721
SendEmailLoginRequest(randomCode string, userDetails models.User) error
@@ -59,7 +63,7 @@ func (emSrv *emailService) sendEmail(to []string, subject, message string) error
5963
func (emSrv *emailService) SendTwoFactorRequest(randomCode string, userDetails models.User) error {
6064
var twoFactorRequestTemplateBuffer bytes.Buffer
6165
// Get email template from directory and assign random code to it
62-
emailTemplateFile, err := template.ParseFiles("static/email_templates/TwoFactorLogin.html")
66+
emailTemplateFile, err := template.ParseFS(staticFS, "email_templates/TwoFactorLogin.html")
6367
if err != nil {
6468
return err
6569
}
@@ -83,7 +87,7 @@ func (emSrv *emailService) SendTwoFactorRequest(randomCode string, userDetails m
8387
func (emSrv *emailService) SendEmailLoginRequest(randomCode string, userDetails models.User) error {
8488
var twoFactorRequestTemplateBuffer bytes.Buffer
8589
// Get email template from directory and assign random code to it
86-
emailTemplateFile, err := template.ParseFiles("static/email_templates/EmailLogin.html")
90+
emailTemplateFile, err := template.ParseFS(staticFS, "email_templates/EmailLogin.html")
8791
if err != nil {
8892
return err
8993
}
@@ -108,7 +112,7 @@ func (emSrv *emailService) SendEmailLoginRequest(randomCode string, userDetails
108112
func (emSrv *emailService) SendPasswordResetRequest(randomCode string, userDetails models.User) error {
109113
var passwordResetTemplateBuffer bytes.Buffer
110114
// Get email template from directory and assign random code to it
111-
emailTemplateFile, err := template.ParseFiles("static/email_templates/PasswordRequest.html")
115+
emailTemplateFile, err := template.ParseFS(staticFS, "email_templates/PasswordRequest.html")
112116
if err != nil {
113117
log.Println("Template reading ", err)
114118
return err

0 commit comments

Comments
 (0)