[MM-23727] Make channel validation consistent on the server (#14230)

* MM-23727 Ensure user ids not allowed in channel name:

MM-23727 Move channel name validation to model level

* MM-23727 Update wording
Этот коммит содержится в:
Farhan Munshi
2020-04-26 12:38:33 -04:00
коммит произвёл GitHub
родитель 036f9384b4
Коммит 7bc630a600
4 изменённых файлов: 17 добавлений и 20 удалений

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

@@ -144,10 +144,6 @@ func (a *App) CreateChannelWithUser(channel *model.Channel, userId string) (*mod
return nil, model.NewAppError("CreateChannelWithUser", "api.channel.create_channel.direct_channel.app_error", nil, "", http.StatusBadRequest)
}
if strings.Index(channel.Name, "__") > 0 {
return nil, model.NewAppError("CreateChannelWithUser", "api.channel.create_channel.invalid_character.app_error", nil, "", http.StatusBadRequest)
}
if len(channel.TeamId) == 0 {
return nil, model.NewAppError("CreateChannelWithUser", "app.channel.create_channel.no_team_id.app_error", nil, "", http.StatusBadRequest)
}
@@ -464,14 +460,6 @@ func (a *App) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError
// UpdateChannel updates a given channel by its Id. It also publishes the CHANNEL_UPDATED event.
func (a *App) UpdateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
userIds := strings.Split(channel.Name, "__")
if channel.Type != model.CHANNEL_DIRECT &&
len(userIds) == 2 &&
model.IsValidId(userIds[0]) &&
model.IsValidId(userIds[1]) {
return nil, model.NewAppError("UpdateChannel", "api.channel.update_channel.invalid_character.app_error", nil, "", http.StatusBadRequest)
}
_, err := a.Srv().Store.Channel().Update(channel)
if err != nil {
return nil, err

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

@@ -744,6 +744,14 @@ func TestRenameChannel(t *testing.T) {
"",
"",
},
{
"Success on rename open channel with consecutive underscores in name",
th.createChannel(th.BasicTeam, model.CHANNEL_OPEN),
false,
"foo__bar",
"foo__bar",
"New Display Name",
},
{
"Fail on rename direct message channel",
th.CreateDmChannel(th.BasicUser2),