Commit 72258266 authored by George Goldberg's avatar George Goldberg Committed by Carlos Tadeu Panato Junior

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.
parent d2190527
......@@ -97,10 +97,11 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) {
}
var oldChannel *model.Channel
var err *model.AppError
if oldChannel, err = c.App.GetChannel(channel.Id); err != nil {
if originalOldChannel, err := c.App.GetChannel(channel.Id); err != nil {
c.Err = err
return
} else {
oldChannel = originalOldChannel.DeepCopy()
}
switch oldChannel.Type {
......@@ -229,10 +230,12 @@ func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
oldChannel, err := c.App.GetChannel(c.Params.ChannelId)
if err != nil {
var oldChannel *model.Channel
if originalOldChannel, err := c.App.GetChannel(c.Params.ChannelId); err != nil {
c.Err = err
return
} else {
oldChannel = originalOldChannel.DeepCopy()
}
switch oldChannel.Type {
......
......@@ -59,6 +59,9 @@ type ChannelPatch struct {
func (o *Channel) DeepCopy() *Channel {
copy := *o
if copy.SchemeId != nil {
copy.SchemeId = NewString(*o.SchemeId)
}
return &copy
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment