diff --git a/src/topics/bookmarks.js b/src/topics/bookmarks.js index 2b473f5417..7c0ad567cc 100644 --- a/src/topics/bookmarks.js +++ b/src/topics/bookmarks.js @@ -22,7 +22,13 @@ module.exports = function (Topics) { }; Topics.setUserBookmark = async function (tid, uid, index) { - await db.sortedSetAdd(`tid:${tid}:bookmarks`, index, uid); + if (parseInt(uid, 10) <= 0) { + return; + } + const currentIndex = await db.sortedSetScore(`tid:${tid}:bookmarks`, uid); + if (!currentIndex || index > currentIndex) { + await db.sortedSetAdd(`tid:${tid}:bookmarks`, index, uid); + } }; Topics.getTopicBookmarks = async function (tid) {