summaryrefslogtreecommitdiffstats
path: root/app/user.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-13 08:29:56 -0400
committerGeorge Goldberg <george@gberg.me>2017-03-13 12:29:56 +0000
commit8b0eedbbcd47ba09142c72a71969840aa6e121d2 (patch)
tree30c073e01dfbe40065aa2bb7900339362a57a07f /app/user.go
parent1860d05d623b6fd7670121a7e2391605d1281b27 (diff)
downloadchat-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.go28
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