diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-03-13 08:29:56 -0400 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2017-03-13 12:29:56 +0000 |
commit | 8b0eedbbcd47ba09142c72a71969840aa6e121d2 (patch) | |
tree | 30c073e01dfbe40065aa2bb7900339362a57a07f /app/user.go | |
parent | 1860d05d623b6fd7670121a7e2391605d1281b27 (diff) | |
download | chat-8b0eedbbcd47ba09142c72a71969840aa6e121d2.tar.gz chat-8b0eedbbcd47ba09142c72a71969840aa6e121d2.tar.bz2 chat-8b0eedbbcd47ba09142c72a71969840aa6e121d2.zip |
Implement PUT /users/{user_id}/mfa endpoint for APIv4 (#5743)
Diffstat (limited to 'app/user.go')
-rw-r--r-- | app/user.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/user.go b/app/user.go index d01ce7a51..c872a7fa1 100644 --- a/app/user.go +++ b/app/user.go @@ -949,6 +949,34 @@ func UpdateUserNotifyProps(userId string, props map[string]string, siteURL strin return ruser, nil } +func UpdateMfa(activate bool, userId, token, siteUrl string) *model.AppError { + if activate { + if err := ActivateMfa(userId, token); err != nil { + return err + } + } else { + if err := DeactivateMfa(userId); err != nil { + return err + } + } + + go func() { + var user *model.User + var err *model.AppError + + if user, err = GetUser(userId); err != nil { + l4g.Error(err.Error()) + return + } + + if err := SendMfaChangeEmail(user.Email, activate, user.Locale, siteUrl); err != nil { + l4g.Error(err.Error()) + } + }() + + return nil +} + func UpdatePasswordByUserIdSendEmail(userId, newPassword, method, siteURL string) *model.AppError { var user *model.User var err *model.AppError |