From 15d64fb201848002a25facc3bbffc9535a704df6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Wed, 26 Sep 2018 16:34:12 +0200 Subject: MM-7188: Cleaning push notification on every read, not only on channel switch (#9348) * MM-7188: Cleaning push notification on every read, not only on channel switch * Removed unnecesary goroutine * Fixing tests * Applying suggestion from PR --- store/sqlstore/user_store.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'store/sqlstore/user_store.go') diff --git a/store/sqlstore/user_store.go b/store/sqlstore/user_store.go index 900010ce4..941aa60e9 100644 --- a/store/sqlstore/user_store.go +++ b/store/sqlstore/user_store.go @@ -949,6 +949,16 @@ func (us SqlUserStore) GetUnreadCountForChannel(userId string, channelId string) }) } +func (us SqlUserStore) GetAnyUnreadPostCountForChannel(userId string, channelId string) store.StoreChannel { + return store.Do(func(result *store.StoreResult) { + if count, err := us.GetReplica().SelectInt("SELECT SUM(c.TotalMsgCount - cm.MsgCount) FROM Channels c INNER JOIN ChannelMembers cm ON c.Id = :ChannelId AND cm.ChannelId = :ChannelId AND cm.UserId = :UserId", map[string]interface{}{"ChannelId": channelId, "UserId": userId}); err != nil { + result.Err = model.NewAppError("SqlUserStore.GetMentionCountForChannel", "store.sql_user.get_unread_count_for_channel.app_error", nil, err.Error(), http.StatusInternalServerError) + } else { + result.Data = count + } + }) +} + func (us SqlUserStore) Search(teamId string, term string, options map[string]bool) store.StoreChannel { return store.Do(func(result *store.StoreResult) { searchQuery := "" -- cgit v1.2.3-1-g7c22