github.com/lologarithm/mattermost-server@v5.3.2-0.20181002060438-c82a84ed765b+incompatible/model/channel_data.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package model 5 6 import ( 7 "encoding/json" 8 "io" 9 ) 10 11 type ChannelData struct { 12 Channel *Channel `json:"channel"` 13 Member *ChannelMember `json:"member"` 14 } 15 16 func (o *ChannelData) Etag() string { 17 var mt int64 = 0 18 if o.Member != nil { 19 mt = o.Member.LastUpdateAt 20 } 21 22 return Etag(o.Channel.Id, o.Channel.UpdateAt, o.Channel.LastPostAt, mt) 23 } 24 25 func (o *ChannelData) ToJson() string { 26 b, _ := json.Marshal(o) 27 return string(b) 28 } 29 30 func ChannelDataFromJson(data io.Reader) *ChannelData { 31 var o *ChannelData 32 json.NewDecoder(data).Decode(&o) 33 return o 34 }