diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-09-23 11:38:08 -0400 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-09-30 09:59:58 -0400 |
commit | 7c319f052441c01f7c0ffd744a50b671c785591a (patch) | |
tree | 5c36d84eedd4b54801fbccd4419734eb0486f8d8 /store | |
parent | 4bc625e8d10ab7735b76814fe9bbf3fb9144d4e1 (diff) | |
download | chat-7c319f052441c01f7c0ffd744a50b671c785591a.tar.gz chat-7c319f052441c01f7c0ffd744a50b671c785591a.tar.bz2 chat-7c319f052441c01f7c0ffd744a50b671c785591a.zip |
Removed UI for quiet mode and added UI to set when a channel will be marked unread in the sidebar
Diffstat (limited to 'store')
-rw-r--r-- | store/sql_channel_store.go | 30 | ||||
-rw-r--r-- | store/store.go | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/store/sql_channel_store.go b/store/sql_channel_store.go index cb686090e..892ee1398 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", "MarkUnreadLevel", "varchar(20)", "varchar(20)", model.CHANNEL_MARK_UNREAD_ALL) } func (s SqlChannelStore) CreateIndexesIfNotExists() { @@ -678,6 +679,35 @@ func (s SqlChannelStore) UpdateNotifyLevel(channelId, userId, notifyLevel string return storeChannel } +func (s SqlChannelStore) UpdateMarkUnreadLevel(channelId, userId, markUnreadLevel string) StoreChannel { + storeChannel := make(StoreChannel) + + go func() { + result := StoreResult{} + + updateAt := model.GetMillis() + + _, err := s.GetMaster().Exec( + `UPDATE + ChannelMembers + SET + MarkUnreadLevel = :MarkUnreadLevel, + LastUpdateAt = :LastUpdateAt + WHERE + UserId = :UserId + AND ChannelId = :ChannelId`, + map[string]interface{}{"ChannelId": channelId, "UserId": userId, "MarkUnreadLevel": markUnreadLevel, "LastUpdateAt": updateAt}) + if err != nil { + result.Err = model.NewAppError("SqlChannelStore.UpdateMarkUnreadLevel", "We couldn't update the mark unread level", "channel_id="+channelId+", user_id="+userId+", "+err.Error()) + } + + storeChannel <- result + close(storeChannel) + }() + + return storeChannel +} + func (s SqlChannelStore) GetForExport(teamId string) StoreChannel { storeChannel := make(StoreChannel) diff --git a/store/store.go b/store/store.go index 23580f452..83366b79e 100644 --- a/store/store.go +++ b/store/store.go @@ -72,6 +72,7 @@ type ChannelStore interface { UpdateLastViewedAt(channelId string, userId string) StoreChannel IncrementMentionCount(channelId string, userId string) StoreChannel UpdateNotifyLevel(channelId string, userId string, notifyLevel string) StoreChannel + UpdateMarkUnreadLevel(channelId string, userId string, markUnreadLevel string) StoreChannel } type PostStore interface { |