MCPcopy Create free account
hub / github.com/netlify/gotrue / sendEmailChange

Method sendEmailChange

api/mail.go:58–72  ·  view source on GitHub ↗
(tx *storage.Connection, u *models.User, mailer mailer.Mailer, email string, referrerURL string)

Source from the content-addressed store, hash-verified

56}
57
58func (a *API) sendEmailChange(tx *storage.Connection, u *models.User, mailer mailer.Mailer, email string, referrerURL string) error {
59 oldToken := u.EmailChangeToken
60 oldEmail := u.EmailChange
61 u.EmailChangeToken = crypto.SecureToken()
62 u.EmailChange = email
63 now := time.Now()
64 if err := mailer.EmailChangeMail(u, referrerURL); err != nil {
65 u.EmailChangeToken = oldToken
66 u.EmailChange = oldEmail
67 return err
68 }
69
70 u.EmailChangeSentAt = &now
71 return errors.Wrap(tx.UpdateOnly(u, "email_change_token", "email_change", "email_change_sent_at"), "Database error updating user for email change")
72}
73
74func (a *API) validateEmail(ctx context.Context, email string) error {
75 if email == "" {

Callers 1

UserUpdateMethod · 0.95

Calls 3

SecureTokenFunction · 0.92
UpdateOnlyMethod · 0.80
EmailChangeMailMethod · 0.65

Tested by

no test coverage detected