Follow threads without memberships if marked as unread (#17800)

Этот коммит содержится в:
Joram Wilander
2021-06-21 09:47:17 -04:00
коммит произвёл GitHub
родитель 036cede080
Коммит f1913115b6
2 изменённых файлов: 45 добавлений и 5 удалений

Просмотреть файл

@@ -2245,10 +2245,16 @@ func (a *App) UpdateThreadReadForUser(userID, teamID, threadID string, timestamp
if err != nil {
return nil, err
}
membership, nErr := a.Srv().Store.Thread().GetMembershipForUser(userID, threadID)
if nErr != nil {
return nil, model.NewAppError("UpdateThreadsReadForUser", "app.user.update_threads_read_for_user.app_error", nil, nErr.Error(), http.StatusInternalServerError)
opts := store.ThreadMembershipOpts{
Following: true,
UpdateFollowing: false,
}
membership, storeErr := a.Srv().Store.Thread().MaintainMembership(userID, threadID, opts)
if storeErr != nil {
return nil, model.NewAppError("UpdateThreadReadForUser", "app.user.update_thread_read_for_user.app_error", nil, err.Error(), http.StatusInternalServerError)
}
post, err := a.GetSinglePost(threadID)
if err != nil {
return nil, err
@@ -2258,9 +2264,9 @@ func (a *App) UpdateThreadReadForUser(userID, teamID, threadID string, timestamp
return nil, err
}
membership.Following = true
_, nErr = a.Srv().Store.Thread().UpdateMembership(membership)
_, nErr := a.Srv().Store.Thread().UpdateMembership(membership)
if nErr != nil {
return nil, model.NewAppError("UpdateThreadsReadForUser", "app.user.update_threads_read_for_user.app_error", nil, nErr.Error(), http.StatusInternalServerError)
return nil, model.NewAppError("UpdateThreadReadForUser", "app.user.update_thread_read_for_user.app_error", nil, nErr.Error(), http.StatusInternalServerError)
}
membership.LastViewed = timestamp