hunk.code_window: 			for i := range data {
   				v := data[i]
   				counts.Counts[v.Id] = v.TotalMsgCount
   			}
   			result.Data = counts
   		}
  
hunk.labels: keep keep add keep keep keep keep keep
hunk.after_edit: 				counts.UpdateTimes[v.Id] = v.UpdateAt
  
hunk.file_path: store/sql_channel_store.go
hunk.type: add
file: // Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
  // See License.txt for license information.
  
  package model
  
  import (
  	"encoding/json"
  	"io"
  )
  
  type ChannelData struct {
  	Channel *Channel       `json:"channel"`
  	Member  *ChannelMember `json:"member"`
  }
  
  func (o *ChannelData) Etag() string {
  	var mt int64 = 0
  	if o.Member != nil {
  		mt = o.Member.LastUpdateAt
  	}
  
  	return Etag(o.Channel.Id, o.Channel.UpdateAt, o.Channel.LastPostAt, mt)
  }
  
  func (o *ChannelData) ToJson() string {
  	b, err := json.Marshal(o)
  	if err != nil {
  		return ""
  	} else {
  		return string(b)
  	}
  }
  
  func ChannelDataFromJson(data io.Reader) *ChannelData {
  	decoder := json.NewDecoder(data)
  	var o ChannelData
  	err := decoder.Decode(&o)
  	if err == nil {
  		return &o
  	} else {
  		return nil
  	}
  }
  