diff --git a/internal/service/email.go b/internal/service/email.go new file mode 100644 index 0000000..83e44c0 --- /dev/null +++ b/internal/service/email.go @@ -0,0 +1,32 @@ +package service + +import "context" + +type EmailParams struct { + From string + To []string + Subject string + Text string +} + +type EmailClient interface { + SendWithContext(ctx context.Context, params EmailParams) (string, error) +} + +type EmailService struct { + client EmailClient + fromEmail string + isDev bool + appURL string + appName string +} + +func NewEmailService(client EmailClient, fromEmail, appURL, appName string, isDev bool) *EmailService { + return &EmailService{ + client: client, + fromEmail: fromEmail, + isDev: isDev, + appURL: appURL, + appName: appName, + } +}