[MM-51468] import: allow usernames to be uppercase (#29530)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
74afa1fa78
Коммит
de59770797
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@@ -200,7 +200,7 @@ func ValidateUserImportData(data *UserImportData) *model.AppError {
|
||||
|
||||
if data.Username == nil {
|
||||
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.username_missing.error", nil, "", http.StatusBadRequest)
|
||||
} else if !model.IsValidUsername(*data.Username) {
|
||||
} else if !model.IsValidUsername(model.NormalizeUsername(*data.Username)) { // we already lowercase the username while saving and querying so we are more forgiving here
|
||||
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.username_invalid.error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ func ValidateBotImportData(data *BotImportData) *model.AppError {
|
||||
|
||||
if data.Username == nil {
|
||||
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.username_missing.error", nil, "", http.StatusBadRequest)
|
||||
} else if !model.IsValidUsername(*data.Username) {
|
||||
} else if !model.IsValidUsername(model.NormalizeUsername(*data.Username)) { // we already lowercase the username while saving and querying so we are more forgiving here
|
||||
return model.NewAppError("BulkImport", "app.import.validate_user_import_data.username_invalid.error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
|
||||
@@ -549,6 +549,11 @@ func TestImportValidateUserImportData(t *testing.T) {
|
||||
err = ValidateUserImportData(&data)
|
||||
require.Nil(t, err, "Validation failed but should have been valid.")
|
||||
|
||||
// Test with not-all lowercase username
|
||||
data.Username = model.NewPointer("Bob")
|
||||
err = ValidateUserImportData(&data)
|
||||
require.Nil(t, err, "Validation failed but should have been valid even the username has uppercase letters.")
|
||||
|
||||
// Test various invalid optional field values.
|
||||
data.Nickname = model.NewPointer(strings.Repeat("abcdefghij", 7))
|
||||
err = ValidateUserImportData(&data)
|
||||
@@ -683,6 +688,11 @@ func TestImportValidateBotImportData(t *testing.T) {
|
||||
err := ValidateBotImportData(&data)
|
||||
require.Nil(t, err, "Validation failed but should have been valid.")
|
||||
|
||||
// Test with not-all lowercase username
|
||||
data.Username = model.NewPointer("Bob")
|
||||
err = ValidateBotImportData(&data)
|
||||
require.Nil(t, err, "Validation failed but should have been valid even the username has uppercase letters.")
|
||||
|
||||
// Test with various invalid names.
|
||||
data.Username = nil
|
||||
err = ValidateBotImportData(&data)
|
||||
|
||||
@@ -127,6 +127,7 @@ func (b *Bot) PreSave() {
|
||||
b.CreateAt = GetMillis()
|
||||
b.UpdateAt = b.CreateAt
|
||||
b.DeleteAt = 0
|
||||
b.Username = NormalizeUsername(b.Username)
|
||||
}
|
||||
|
||||
// PreUpdate should be run before saving an updated bot to the database.
|
||||
|
||||
Ссылка в новой задаче
Block a user