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
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
37e00ef916
Коммит
15d64fb201
@@ -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 := ""
|
||||
|
||||
@@ -265,6 +265,7 @@ type UserStore interface {
|
||||
AnalyticsActiveCount(time int64) StoreChannel
|
||||
GetUnreadCount(userId string) StoreChannel
|
||||
GetUnreadCountForChannel(userId string, channelId string) StoreChannel
|
||||
GetAnyUnreadPostCountForChannel(userId string, channelId string) StoreChannel
|
||||
GetRecentlyActiveUsersForTeam(teamId string, offset, limit int) StoreChannel
|
||||
GetNewUsersForTeam(teamId string, offset, limit int) StoreChannel
|
||||
Search(teamId string, term string, options map[string]bool) StoreChannel
|
||||
|
||||
@@ -194,6 +194,22 @@ func (_m *UserStore) GetAllUsingAuthService(authService string) store.StoreChann
|
||||
return r0
|
||||
}
|
||||
|
||||
// GetAnyUnreadPostCountForChannel provides a mock function with given fields: userId, channelId
|
||||
func (_m *UserStore) GetAnyUnreadPostCountForChannel(userId string, channelId string) store.StoreChannel {
|
||||
ret := _m.Called(userId, channelId)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string, string) store.StoreChannel); ok {
|
||||
r0 = rf(userId, channelId)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
}
|
||||
|
||||
// GetByAuth provides a mock function with given fields: authData, authService
|
||||
func (_m *UserStore) GetByAuth(authData *string, authService string) store.StoreChannel {
|
||||
ret := _m.Called(authData, authService)
|
||||
|
||||
Ссылка в новой задаче
Block a user