From 31fd135f6ec3fda2e6681f786f367a22c80fe361 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 20 Feb 2024 14:09:06 -0500 Subject: [PATCH] fix: parseIntFields for tids --- src/posts/data.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/posts/data.js b/src/posts/data.js index b9b32b02bd..cb0862e115 100644 --- a/src/posts/data.js +++ b/src/posts/data.js @@ -1,5 +1,7 @@ 'use strict'; +const validator = require('validator'); + const db = require('../database'); const plugins = require('../plugins'); const activitypub = require('../activitypub'); @@ -60,14 +62,15 @@ 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); - } - if (activitypub.helpers.isUri(post.toPid)) { - _intFields.splice(_intFields.indexOf('toPid'), 1); - } + ['pid', 'uid', 'tid', 'toPid'].forEach((prop) => { + if ( + post.hasOwnProperty(prop) && post[prop] && + (activitypub.helpers.isUri(post[prop]) || validator.isUUID(post[prop])) + ) { + _intFields.splice(_intFields.indexOf(prop), 1); + } + }); + db.parseIntFields(post, _intFields, fields); if (post.hasOwnProperty('upvotes') && post.hasOwnProperty('downvotes')) { post.votes = post.upvotes - post.downvotes;