diff --git a/src/posts/delete.js b/src/posts/delete.js index 900d0c717c..fb285b5128 100644 --- a/src/posts/delete.js +++ b/src/posts/delete.js @@ -203,7 +203,7 @@ module.exports = function (Posts) { await Promise.all(promises); const parentPids = _.uniq(postsWithParents.map(p => p.toPid)); - const counts = db.sortedSetsCard(parentPids.map(pid => `pid:${pid}:replies`)); + const counts = await db.sortedSetsCard(parentPids.map(pid => `pid:${pid}:replies`)); await db.setObjectBulk(parentPids.map((pid, index) => [`post:${pid}`, { replies: counts[index] }])); } diff --git a/src/widgets/index.js b/src/widgets/index.js index 686c309e7b..473a33a820 100644 --- a/src/widgets/index.js +++ b/src/widgets/index.js @@ -212,11 +212,13 @@ widgets.reset = async function () { widgets.resetTemplate = async function (template) { const area = await db.getObject(`widgets:${template}.tpl`); - const toBeDrafted = _.flatMap(Object.values(area), value => JSON.parse(value)); - await db.delete(`widgets:${template}.tpl`); - let draftWidgets = await db.getObjectField('widgets:global', 'drafts'); - draftWidgets = JSON.parse(draftWidgets).concat(toBeDrafted); - await db.setObjectField('widgets:global', 'drafts', JSON.stringify(draftWidgets)); + if (area) { + const toBeDrafted = _.flatMap(Object.values(area), value => JSON.parse(value)); + await db.delete(`widgets:${template}.tpl`); + let draftWidgets = await db.getObjectField('widgets:global', 'drafts'); + draftWidgets = JSON.parse(draftWidgets).concat(toBeDrafted); + await db.setObjectField('widgets:global', 'drafts', JSON.stringify(draftWidgets)); + } }; widgets.resetTemplates = async function (templates) {