Fix duplicated channel's name error (#24080)

* Fix duplicated channel's name error

* Test the SQL store layer instead of the API layer

* Remove unused variable and query
Этот коммит содержится в:
Alejandro García Montoro
2023-07-24 11:04:54 +02:00
коммит произвёл GitHub
родитель f1468a1958
Коммит dbf63214ac
2 изменённых файлов: 8 добавлений и 6 удалений

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

@@ -778,12 +778,7 @@ func (s SqlChannelStore) updateChannelT(transaction *sqlxTxWrapper, channel *mod
WHERE Id=:Id`, channel)
if err != nil {
if IsUniqueConstraintError(err, []string{"Name", "channels_name_teamid_key"}) {
dupChannel := model.Channel{}
s.GetReplicaX().Get(&dupChannel, "SELECT * FROM Channels WHERE TeamId = :TeamId AND Name= :Name AND DeleteAt > 0", map[string]any{"TeamId": channel.TeamId, "Name": channel.Name})
if dupChannel.DeleteAt > 0 {
return nil, store.NewErrInvalidInput("Channel", "Id", channel.Id)
}
return nil, store.NewErrInvalidInput("Channel", "Id", channel.Id)
return nil, store.NewErrInvalidInput("Channel", "Name", channel.Name)
}
return nil, errors.Wrapf(err, "failed to update channel with id=%s", channel.Id)
}