diff options
Diffstat (limited to 'internal/db/user_mail.go')
-rw-r--r-- | internal/db/user_mail.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/internal/db/user_mail.go b/internal/db/user_mail.go index 440de084..37f0c2c0 100644 --- a/internal/db/user_mail.go +++ b/internal/db/user_mail.go @@ -160,7 +160,7 @@ func DeleteEmailAddresses(emails []*EmailAddress) (err error) { return nil } -func MakeEmailPrimary(email *EmailAddress) error { +func MakeEmailPrimary(userID int64, email *EmailAddress) error { has, err := x.Get(email) if err != nil { return err @@ -168,6 +168,10 @@ func MakeEmailPrimary(email *EmailAddress) error { return errors.EmailNotFound{Email: email.Email} } + if email.UID != userID { + return errors.New("not the owner of the email") + } + if !email.IsActivated { return errors.EmailNotVerified{Email: email.Email} } |