diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-11-12 11:25:46 -0500 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-11-12 11:25:46 -0500 |
commit | be43522117e637271509cf24244f554a437c0578 (patch) | |
tree | 53b3d49a095efa96fa80592fdc2a5f5257b78058 /api | |
parent | 13a251a5ee940383e5a026284275b1f31fb476df (diff) | |
download | chat-be43522117e637271509cf24244f554a437c0578.tar.gz chat-be43522117e637271509cf24244f554a437c0578.tar.bz2 chat-be43522117e637271509cf24244f554a437c0578.zip |
Added ChannelExtra.MemberCount field to reflect the actual member count when we truncate the list of members to 20
Diffstat (limited to 'api')
-rw-r--r-- | api/channel.go | 7 | ||||
-rw-r--r-- | api/channel_test.go | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/api/channel.go b/api/channel.go index 44be1cf97..75ca9680d 100644 --- a/api/channel.go +++ b/api/channel.go @@ -707,6 +707,7 @@ func getChannelExtraInfo(c *Context, w http.ResponseWriter, r *http.Request) { scm := Srv.Store.Channel().GetMember(id, c.Session.UserId) ecm := Srv.Store.Channel().GetExtraMembers(id, 20) + ccm := Srv.Store.Channel().GetMemberCount(id) if cmresult := <-scm; cmresult.Err != nil { c.Err = cmresult.Err @@ -714,9 +715,13 @@ func getChannelExtraInfo(c *Context, w http.ResponseWriter, r *http.Request) { } else if ecmresult := <-ecm; ecmresult.Err != nil { c.Err = ecmresult.Err return + } else if ccmresult := <-ccm; ccmresult.Err != nil { + c.Err = ccmresult.Err + return } else { member := cmresult.Data.(model.ChannelMember) extraMembers := ecmresult.Data.([]model.ExtraMember) + memberCount := ccmresult.Data.(int64) if !c.HasPermissionsToTeam(channel.TeamId, "getChannelExtraInfo") { return @@ -732,7 +737,7 @@ func getChannelExtraInfo(c *Context, w http.ResponseWriter, r *http.Request) { return } - data := model.ChannelExtra{Id: channel.Id, Members: extraMembers} + data := model.ChannelExtra{Id: channel.Id, Members: extraMembers, MemberCount: memberCount} w.Header().Set(model.HEADER_ETAG_SERVER, extraEtag) w.Header().Set("Expires", "-1") w.Write([]byte(data.ToJson())) diff --git a/api/channel_test.go b/api/channel_test.go index a41f63b1b..faed387dd 100644 --- a/api/channel_test.go +++ b/api/channel_test.go @@ -677,6 +677,10 @@ func TestGetChannelExtraInfo(t *testing.T) { data := rget.Data.(*model.ChannelExtra) if data.Id != channel1.Id { t.Fatal("couldnt't get extra info") + } else if len(data.Members) != 1 { + t.Fatal("got incorrect members") + } else if data.MemberCount != 1 { + t.Fatal("got incorrect member count") } // |