From 56cfae0766ef09c7b4deead03237f2f6967c7e4b Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 14 Feb 2024 11:56:21 -0500 Subject: [PATCH] fix: accidental overwrite of hoisted internal variable --- src/posts/data.js | 12 +++++++----- src/topics/data.js | 9 +++++---- src/user/data.js | 6 ++++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/posts/data.js b/src/posts/data.js index 85f5ca54a4..b9b32b02bd 100644 --- a/src/posts/data.js +++ b/src/posts/data.js @@ -57,16 +57,18 @@ module.exports = function (Posts) { }; function modifyPost(post, fields) { + const _intFields = [...intFields]; + if (post) { if (activitypub.helpers.isUri(post.pid)) { - intFields.splice(intFields.indexOf('pid'), 1); - intFields.splice(intFields.indexOf('uid'), 1); - intFields.splice(intFields.indexOf('tid'), 1); + _intFields.splice(_intFields.indexOf('pid'), 1); + _intFields.splice(_intFields.indexOf('uid'), 1); + _intFields.splice(_intFields.indexOf('tid'), 1); } if (activitypub.helpers.isUri(post.toPid)) { - intFields.splice(intFields.indexOf('toPid'), 1); + _intFields.splice(_intFields.indexOf('toPid'), 1); } - db.parseIntFields(post, intFields, fields); + db.parseIntFields(post, _intFields, fields); if (post.hasOwnProperty('upvotes') && post.hasOwnProperty('downvotes')) { post.votes = post.upvotes - post.downvotes; } diff --git a/src/topics/data.js b/src/topics/data.js index 968c346cbc..ae5b71b4b5 100644 --- a/src/topics/data.js +++ b/src/topics/data.js @@ -95,12 +95,13 @@ function modifyTopic(topic, fields) { return; } + const _intFields = [...intFields]; if (validator.isUUID(String(topic.tid))) { - intFields.splice(intFields.indexOf('uid'), 1); - intFields.splice(intFields.indexOf('tid'), 1); - intFields.splice(intFields.indexOf('mainPid'), 1); + _intFields.splice(_intFields.indexOf('uid'), 1); + _intFields.splice(_intFields.indexOf('tid'), 1); + _intFields.splice(_intFields.indexOf('mainPid'), 1); } - db.parseIntFields(topic, intFields, fields); + db.parseIntFields(topic, _intFields, fields); if (topic.hasOwnProperty('title')) { topic.titleRaw = topic.title; diff --git a/src/user/data.js b/src/user/data.js index 28fd299e52..8356a3886f 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -205,10 +205,12 @@ module.exports = function (User) { return; } + const _intFields = [...intFields]; + if (activitypub.helpers.isUri(user.uid)) { - intFields.splice(intFields.indexOf('uid'), 1); + _intFields.splice(_intFields.indexOf('uid'), 1); } - db.parseIntFields(user, intFields, requestedFields); + db.parseIntFields(user, _intFields, requestedFields); if (user.hasOwnProperty('username')) { parseDisplayName(user, uidToSettings);