MM-11649: Fix caching issue in channel API endpoints. (#9345)
This fixes an issue where the cached Channel objects would contain data from a failed update when the update to the database failed.
Этот коммит содержится в:
коммит произвёл
Carlos Tadeu Panato Junior
родитель
d2190527ea
Коммит
72258266aa
@@ -97,10 +97,11 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var oldChannel *model.Channel
|
var oldChannel *model.Channel
|
||||||
var err *model.AppError
|
if originalOldChannel, err := c.App.GetChannel(channel.Id); err != nil {
|
||||||
if oldChannel, err = c.App.GetChannel(channel.Id); err != nil {
|
|
||||||
c.Err = err
|
c.Err = err
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
oldChannel = originalOldChannel.DeepCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
switch oldChannel.Type {
|
switch oldChannel.Type {
|
||||||
@@ -229,10 +230,12 @@ func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
oldChannel, err := c.App.GetChannel(c.Params.ChannelId)
|
var oldChannel *model.Channel
|
||||||
if err != nil {
|
if originalOldChannel, err := c.App.GetChannel(c.Params.ChannelId); err != nil {
|
||||||
c.Err = err
|
c.Err = err
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
oldChannel = originalOldChannel.DeepCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
switch oldChannel.Type {
|
switch oldChannel.Type {
|
||||||
|
|||||||
@@ -59,6 +59,9 @@ type ChannelPatch struct {
|
|||||||
|
|
||||||
func (o *Channel) DeepCopy() *Channel {
|
func (o *Channel) DeepCopy() *Channel {
|
||||||
copy := *o
|
copy := *o
|
||||||
|
if copy.SchemeId != nil {
|
||||||
|
copy.SchemeId = NewString(*o.SchemeId)
|
||||||
|
}
|
||||||
return ©
|
return ©
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user