summaryrefslogtreecommitdiffstats
path: root/app/import.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-04-28 23:01:56 +0100
committerCorey Hulen <corey@hulen.com>2017-04-28 15:01:56 -0700
commit6f6b7e4e97f466ee0f29c96b7fee0d9b98ce751c (patch)
treec45e87929309d361f36d8afdf5afaac2b4f38c14 /app/import.go
parent96906482cecb0df21c8e1a40a2ba00c13c0182a7 (diff)
downloadchat-6f6b7e4e97f466ee0f29c96b7fee0d9b98ce751c.tar.gz
chat-6f6b7e4e97f466ee0f29c96b7fee0d9b98ce751c.tar.bz2
chat-6f6b7e4e97f466ee0f29c96b7fee0d9b98ce751c.zip
Add Password field to Bulk Importer. (#6268)
Diffstat (limited to 'app/import.go')
-rw-r--r--app/import.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/import.go b/app/import.go
index 488cb22aa..eb51fd34e 100644
--- a/app/import.go
+++ b/app/import.go
@@ -52,6 +52,7 @@ type UserImportData struct {
Email *string `json:"email"`
AuthService *string `json:"auth_service"`
AuthData *string `json:"auth_data"`
+ Password *string `json:"password"`
Nickname *string `json:"nickname"`
FirstName *string `json:"first_name"`
LastName *string `json:"last_name"`
@@ -429,8 +430,11 @@ func ImportUser(data *UserImportData, dryRun bool) *model.AppError {
if data.AuthData != nil {
authData = data.AuthData
password = ""
+ } else if data.Password != nil {
+ password = *data.Password
+ authData = nil
} else {
- // If no Auth Data is specified, we must generate a password.
+ // If no AuthData or Password is specified, we must generate a password.
password = model.NewId()
authData = nil
}
@@ -695,10 +699,22 @@ func validateUserImportData(data *UserImportData) *model.AppError {
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.auth_service_length.error", nil, "", http.StatusBadRequest)
}
+ if data.AuthData != nil && data.Password != nil {
+ return model.NewAppError("BulkImport", "app.import.validate_user_import_data.auth_data_and_password.error", nil, "", http.StatusBadRequest)
+ }
+
if data.AuthData != nil && len(*data.AuthData) > model.USER_AUTH_DATA_MAX_LENGTH {
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.auth_data_length.error", nil, "", http.StatusBadRequest)
}
+ if data.Password != nil && len(*data.Password) == 0 {
+ return model.NewAppError("BulkImport", "app.import.validate_user_import_data.pasword_length.error", nil, "", http.StatusBadRequest)
+ }
+
+ if data.Password != nil && len(*data.Password) > model.USER_PASSWORD_MAX_LENGTH {
+ return model.NewAppError("BulkImport", "app.import.validate_user_import_data.password_length.error", nil, "", http.StatusBadRequest)
+ }
+
if data.Nickname != nil && utf8.RuneCountInString(*data.Nickname) > model.USER_NICKNAME_MAX_RUNES {
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.nickname_length.error", nil, "", http.StatusBadRequest)
}