-
Notifications
You must be signed in to change notification settings - Fork 27
/
template.go
142 lines (124 loc) · 7.54 KB
/
template.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package otp
import (
"github.com/authgear/authgear-server/pkg/lib/translation"
"github.com/authgear/authgear-server/pkg/util/template"
)
type MessageType string
const (
MessageTypeVerification MessageType = "verification"
MessageTypeSetupPrimaryOOB MessageType = "setup-primary-oob"
MessageTypeSetupSecondaryOOB MessageType = "setup-secondary-oob"
MessageTypeAuthenticatePrimaryOOB MessageType = "authenticate-primary-oob"
MessageTypeAuthenticateSecondaryOOB MessageType = "authenticate-secondary-oob"
MessageTypeForgotPassword MessageType = "forgot-password"
MessageTypeWhatsappCode MessageType = "whatsapp-code"
)
type messageTemplateContext struct {
Email string
Phone string
Code string
URL string
Host string
// compatibility with forgot password templates
Link string
}
var (
TemplateMessageVerificationSMSTXT = template.RegisterPlainText("messages/verification_sms.txt")
TemplateMessageVerificationEmailTXT = template.RegisterPlainText("messages/verification_email.txt")
TemplateMessageVerificationEmailHTML = template.RegisterAppOverridableHTML("messages/verification_email.html")
TemplateMessageSetupPrimaryOOBSMSTXT = template.RegisterPlainText("messages/setup_primary_oob_sms.txt")
TemplateMessageSetupPrimaryOOBEmailTXT = template.RegisterPlainText("messages/setup_primary_oob_email.txt")
TemplateMessageSetupPrimaryOOBEmailHTML = template.RegisterAppOverridableHTML("messages/setup_primary_oob_email.html")
TemplateMessageSetupSecondaryOOBSMSTXT = template.RegisterPlainText("messages/setup_secondary_oob_sms.txt")
TemplateMessageSetupSecondaryOOBEmailTXT = template.RegisterPlainText("messages/setup_secondary_oob_email.txt")
TemplateMessageSetupSecondaryOOBEmailHTML = template.RegisterAppOverridableHTML("messages/setup_secondary_oob_email.html")
TemplateMessageAuthenticatePrimaryOOBSMSTXT = template.RegisterPlainText("messages/authenticate_primary_oob_sms.txt")
TemplateMessageAuthenticatePrimaryOOBEmailTXT = template.RegisterPlainText("messages/authenticate_primary_oob_email.txt")
TemplateMessageAuthenticatePrimaryOOBEmailHTML = template.RegisterAppOverridableHTML("messages/authenticate_primary_oob_email.html")
TemplateMessageAuthenticatePrimaryLoginLinkEmailTXT = template.RegisterPlainText("messages/authenticate_primary_login_link.txt")
TemplateMessageAuthenticatePrimaryLoginLinkEmailHTML = template.RegisterAppOverridableHTML("messages/authenticate_primary_login_link.html")
TemplateMessageAuthenticateSecondaryOOBSMSTXT = template.RegisterPlainText("messages/authenticate_secondary_oob_sms.txt")
TemplateMessageAuthenticateSecondaryOOBEmailTXT = template.RegisterPlainText("messages/authenticate_secondary_oob_email.txt")
TemplateMessageAuthenticateSecondaryOOBEmailHTML = template.RegisterAppOverridableHTML("messages/authenticate_secondary_oob_email.html")
TemplateMessageSetupPrimaryLoginLinkEmailTXT = template.RegisterPlainText("messages/setup_primary_login_link.txt")
TemplateMessageSetupPrimaryLoginLinkEmailHTML = template.RegisterAppOverridableHTML("messages/setup_primary_login_link.html")
TemplateMessageSetupSecondaryLoginLinkEmailTXT = template.RegisterPlainText("messages/setup_secondary_login_link.txt")
TemplateMessageSetupSecondaryLoginLinkEmailHTML = template.RegisterAppOverridableHTML("messages/setup_secondary_login_link.html")
TemplateMessageAuthenticateSecondaryLoginLinkEmailTXT = template.RegisterPlainText("messages/authenticate_secondary_login_link.txt")
TemplateMessageAuthenticateSecondaryLoginLinkEmailHTML = template.RegisterAppOverridableHTML("messages/authenticate_secondary_login_link.html")
TemplateMessageForgotPasswordLinkSMSTXT = template.RegisterPlainText("messages/forgot_password_sms.txt")
TemplateMessageForgotPasswordLinkEmailTXT = template.RegisterPlainText("messages/forgot_password_email.txt")
TemplateMessageForgotPasswordLinkEmailHTML = template.RegisterAppOverridableHTML("messages/forgot_password_email.html")
TemplateMessageForgotPasswordOOBSMSTXT = template.RegisterPlainText("messages/forgot_password_oob_sms.txt")
TemplateMessageForgotPasswordOOBEmailTXT = template.RegisterPlainText("messages/forgot_password_oob_email.txt")
TemplateMessageForgotPasswordOOBEmailHTML = template.RegisterAppOverridableHTML("messages/forgot_password_oob_email.html")
TemplateWhatsappOTPCodeTXT = template.RegisterPlainText("messages/whatsapp_otp_code.txt")
)
var (
messageVerification = &translation.MessageSpec{
Name: "verification",
TXTEmailTemplate: TemplateMessageVerificationEmailTXT,
HTMLEmailTemplate: TemplateMessageVerificationEmailHTML,
SMSTemplate: TemplateMessageVerificationSMSTXT,
}
messageSetupPrimaryOOB = &translation.MessageSpec{
Name: "setup-primary-oob",
TXTEmailTemplate: TemplateMessageSetupPrimaryOOBEmailTXT,
HTMLEmailTemplate: TemplateMessageSetupPrimaryOOBEmailHTML,
SMSTemplate: TemplateMessageSetupPrimaryOOBSMSTXT,
}
messageSetupPrimaryLoginLink = &translation.MessageSpec{
Name: "setup-primary-login-link",
TXTEmailTemplate: TemplateMessageSetupPrimaryLoginLinkEmailTXT,
HTMLEmailTemplate: TemplateMessageSetupPrimaryLoginLinkEmailHTML,
}
messageSetupSecondaryOOB = &translation.MessageSpec{
Name: "setup-secondary-oob",
TXTEmailTemplate: TemplateMessageSetupSecondaryOOBEmailTXT,
HTMLEmailTemplate: TemplateMessageSetupSecondaryOOBEmailHTML,
SMSTemplate: TemplateMessageSetupSecondaryOOBSMSTXT,
}
messageSetupSecondaryLoginLink = &translation.MessageSpec{
Name: "setup-secondary-login-link",
TXTEmailTemplate: TemplateMessageSetupSecondaryLoginLinkEmailTXT,
HTMLEmailTemplate: TemplateMessageSetupSecondaryLoginLinkEmailHTML,
}
messageAuthenticatePrimaryOOB = &translation.MessageSpec{
Name: "authenticate-primary-oob",
TXTEmailTemplate: TemplateMessageAuthenticatePrimaryOOBEmailTXT,
HTMLEmailTemplate: TemplateMessageAuthenticatePrimaryOOBEmailHTML,
SMSTemplate: TemplateMessageAuthenticatePrimaryOOBSMSTXT,
}
messageAuthenticatePrimaryLoginLink = &translation.MessageSpec{
Name: "authenticate-primary-login-link",
TXTEmailTemplate: TemplateMessageAuthenticatePrimaryLoginLinkEmailTXT,
HTMLEmailTemplate: TemplateMessageAuthenticatePrimaryLoginLinkEmailHTML,
}
messageAuthenticateSecondaryOOB = &translation.MessageSpec{
Name: "authenticate-secondary-oob",
TXTEmailTemplate: TemplateMessageAuthenticateSecondaryOOBEmailTXT,
HTMLEmailTemplate: TemplateMessageAuthenticateSecondaryOOBEmailHTML,
SMSTemplate: TemplateMessageAuthenticateSecondaryOOBSMSTXT,
}
messageAuthenticateSecondaryLoginLink = &translation.MessageSpec{
Name: "authenticate-secondary-login-link",
TXTEmailTemplate: TemplateMessageAuthenticateSecondaryLoginLinkEmailTXT,
HTMLEmailTemplate: TemplateMessageAuthenticateSecondaryLoginLinkEmailHTML,
}
messageForgotPasswordLink = &translation.MessageSpec{
Name: "forgot-password",
TXTEmailTemplate: TemplateMessageForgotPasswordLinkEmailTXT,
HTMLEmailTemplate: TemplateMessageForgotPasswordLinkEmailHTML,
SMSTemplate: TemplateMessageForgotPasswordLinkSMSTXT,
}
messageForgotPasswordOOB = &translation.MessageSpec{
Name: "forgot-password-oob",
TXTEmailTemplate: TemplateMessageForgotPasswordOOBEmailTXT,
HTMLEmailTemplate: TemplateMessageForgotPasswordOOBEmailHTML,
SMSTemplate: TemplateMessageForgotPasswordOOBSMSTXT,
}
messageWhatsappCode = &translation.MessageSpec{
Name: "whatsapp-code",
WhatsappTemplate: TemplateWhatsappOTPCodeTXT,
}
)