From b0e367b19249e72748e719b7ff69671db3656e25 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Tue, 22 Aug 2017 10:20:54 -0700 Subject: Fixing race in update channel (#7269) * Fixing race in update channel * Switching to struct copy --- model/channel.go | 5 +++++ model/channel_test.go | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'model') diff --git a/model/channel.go b/model/channel.go index 50d487557..48abd1070 100644 --- a/model/channel.go +++ b/model/channel.go @@ -53,6 +53,11 @@ type ChannelPatch struct { Purpose *string `json:"purpose"` } +func (o *Channel) DeepCopy() *Channel { + copy := *o + return © +} + func (o *Channel) ToJson() string { b, err := json.Marshal(o) if err != nil { diff --git a/model/channel_test.go b/model/channel_test.go index ee6a70b0d..ed6aed919 100644 --- a/model/channel_test.go +++ b/model/channel_test.go @@ -27,6 +27,15 @@ func TestChannelJson(t *testing.T) { } } +func TestChannelCopy(t *testing.T) { + o := Channel{Id: NewId(), Name: NewId()} + ro := o.DeepCopy() + + if o.Id != ro.Id { + t.Fatal("Ids do not match") + } +} + func TestChannelPatch(t *testing.T) { p := &ChannelPatch{Name: new(string), DisplayName: new(string), Header: new(string), Purpose: new(string)} *p.Name = NewId() -- cgit v1.2.3-1-g7c22