diff options
author | Joram Wilander <jwawilander@gmail.com> | 2015-06-29 08:14:02 -0400 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2015-06-29 08:14:02 -0400 |
commit | 0792eb18d535410b456f3cc569e243efb85a47b6 (patch) | |
tree | 4ea6caf1e890703b4bb4e727ebce0099dfc88327 /store | |
parent | afb62bb40a012a7e00707f384020e1431abca1ed (diff) | |
parent | 366557b101f318b69ad854349c2414783ce1c82a (diff) | |
download | chat-0792eb18d535410b456f3cc569e243efb85a47b6.tar.gz chat-0792eb18d535410b456f3cc569e243efb85a47b6.tar.bz2 chat-0792eb18d535410b456f3cc569e243efb85a47b6.zip |
Merge pull request #49 from mattermost/mm-1316
fixes mm-1316 improves channel notifications UI and updates channellist etag
Diffstat (limited to 'store')
-rw-r--r-- | store/sql_channel_store.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/store/sql_channel_store.go b/store/sql_channel_store.go index 592657c1c..463fce16f 100644 --- a/store/sql_channel_store.go +++ b/store/sql_channel_store.go @@ -37,6 +37,7 @@ func NewSqlChannelStore(sqlStore *SqlStore) ChannelStore { } func (s SqlChannelStore) UpgradeSchemaIfNeeded() { + s.CreateColumnIfNotExists("ChannelMembers", "LastUpdateAt", "NotifyLevel", "bigint(20)", "0") // Remove after 6/7/2015 prod push } func (s SqlChannelStore) CreateIndexesIfNotExists() { @@ -273,6 +274,7 @@ func (s SqlChannelStore) SaveMember(member *model.ChannelMember) StoreChannel { go func() { result := StoreResult{} + member.PreSave() if result.Err = member.IsValid(); result.Err != nil { storeChannel <- result return @@ -484,7 +486,8 @@ func (s SqlChannelStore) UpdateLastViewedAt(channelId string, userId string) Sto SET ChannelMembers.MentionCount = 0, ChannelMembers.MsgCount = Channels.TotalMsgCount, - ChannelMembers.LastViewedAt = Channels.LastPostAt + ChannelMembers.LastViewedAt = Channels.LastPostAt, + ChannelMembers.LastUpdateAt = Channels.LastPostAt WHERE Channels.Id = ChannelMembers.ChannelId AND UserId = ? @@ -533,15 +536,18 @@ func (s SqlChannelStore) UpdateNotifyLevel(channelId, userId, notifyLevel string go func() { result := StoreResult{} + updateAt := model.GetMillis() + _, err := s.GetMaster().Exec( `UPDATE ChannelMembers SET - NotifyLevel = ? + NotifyLevel = ?, + LastUpdateAt = ? WHERE UserId = ? AND ChannelId = ?`, - notifyLevel, userId, channelId) + notifyLevel, updateAt, userId, channelId) if err != nil { result.Err = model.NewAppError("SqlChannelStore.UpdateNotifyLevel", "We couldn't update the notify level", "channel_id="+channelId+", user_id="+userId+", "+err.Error()) } |