PLT-3736 Fixed duplicated create_direct api calls not returning the existing channel (#4745)

* Fixed duplicated create_direct api calls not returning the existing channel

* Added unit tests for duplicated create_direct api calls
Этот коммит содержится в:
Harrison Healey
2016-12-09 18:43:03 -05:00
коммит произвёл Corey Hulen
родитель 9670afed82
Коммит aaa41535f8
3 изменённых файлов: 28 добавлений и 8 удалений

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

@@ -210,7 +210,7 @@ func (s SqlChannelStore) saveChannelT(transaction *gorp.Transaction, channel *mo
if err := transaction.Insert(channel); err != nil {
if IsUniqueConstraintError(err.Error(), []string{"Name", "channels_name_teamid_key"}) {
dupChannel := model.Channel{}
s.GetMaster().SelectOne(&dupChannel, "SELECT * FROM Channels WHERE TeamId = :TeamId AND Name = :Name AND DeleteAt > 0", map[string]interface{}{"TeamId": channel.TeamId, "Name": channel.Name})
s.GetMaster().SelectOne(&dupChannel, "SELECT * FROM Channels WHERE TeamId = :TeamId AND Name = :Name", map[string]interface{}{"TeamId": channel.TeamId, "Name": channel.Name})
if dupChannel.DeleteAt > 0 {
result.Err = model.NewLocAppError("SqlChannelStore.Save", "store.sql_channel.save_channel.previously.app_error", nil, "id="+channel.Id+", "+err.Error())
} else {