)
var CONFIG Config
+var MAIL_CONFIG MailConfig
+
+type MailConfig struct {
+ IsEnabled bool
+ SmtpAddress string `toml:"smtp_address"`
+ AddressFrom string `toml:"address_from"`
+ Login string `toml:"login"`
+ Password string `toml:"password"`
+}
type Config struct {
+ Domain string `toml:"domain"`
JwtSecret string `toml:"jwt_secret"`
PasswordResetSecret string `toml:"password_reset_secret"`
FreeSMSUser string `toml:"free_sms_user"`
PASSWORD_RESET_SECRET = []byte(config.PasswordResetSecret)
}
+func SetMailConfig(config MailConfig) {
+ MAIL_CONFIG = config
+
+ if config.Login != "" && config.AddressFrom != "" && config.Password != "" && config.SmtpAddress != "" {
+ MAIL_CONFIG.IsEnabled = true
+ ConfigureMailTemplateEngine()
+ }
+}
+
type Error struct {
Code ErrorCode
UserMessage string
return ""
}
+func ErrorIs(err error, code ErrorCode) bool {
+ if err == nil {
+ return false
+ }
+
+ if apiError, ok := err.(*Error); !ok {
+ return false
+ } else {
+ return apiError.Code == code
+ }
+}
+
func NewInternalError(err error) *Error {
+ if apiError, ok := err.(*Error); ok {
+ return apiError
+ }
return &Error{InternalError, "internal error", err}
}