[MM-51468] import: allow usernames to be uppercase (#29530)

Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2024-12-17 14:27:53 +01:00
коммит произвёл GitHub
родитель 74afa1fa78
Коммит de59770797
4 изменённых файлов: 835 добавлений и 709 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@@ -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.