From 6da3239230f64d2869b0c5700db1bc77d76e6ce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 18 Oct 2021 18:12:23 -0400 Subject: [PATCH] refactor: less.render already returns promise rename callback to next to match other controllers --- src/controllers/accounts/posts.js | 4 ++-- src/controllers/accounts/settings.js | 8 +------- src/controllers/topics.js | 12 ++++++------ src/meta/configs.js | 18 +++++------------- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/src/controllers/accounts/posts.js b/src/controllers/accounts/posts.js index ab213609bf..b266a2b185 100644 --- a/src/controllers/accounts/posts.js +++ b/src/controllers/accounts/posts.js @@ -140,7 +140,7 @@ postsController.getTopics = async function (req, res, next) { await getPostsFromUserSet('account/topics', req, res, next); }; -async function getPostsFromUserSet(template, req, res, callback) { +async function getPostsFromUserSet(template, req, res, next) { const data = templateToData[template]; const page = Math.max(1, parseInt(req.query.page, 10) || 1); @@ -150,7 +150,7 @@ async function getPostsFromUserSet(template, req, res, callback) { ]); if (!userData) { - return callback(); + return next(); } const itemsPerPage = data.type === 'topics' ? settings.topicsPerPage : settings.postsPerPage; const start = (page - 1) * itemsPerPage; diff --git a/src/controllers/accounts/settings.js b/src/controllers/accounts/settings.js index 848f62b893..454bf0b336 100644 --- a/src/controllers/accounts/settings.js +++ b/src/controllers/accounts/settings.js @@ -141,17 +141,11 @@ const doUnsubscribe = async (payload) => { }; settingsController.unsubscribe = async (req, res) => { - let payload; try { - payload = await jwtVerifyAsync(req.params.token); + const payload = await jwtVerifyAsync(req.params.token); if (!payload || !unsubscribable.includes(payload.template)) { return; } - } catch (err) { - throw new Error(err); - } - - try { await doUnsubscribe(payload); res.render('unsubscribe', { payload: payload, diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 4f44a05344..fa7a9b6d68 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -20,14 +20,14 @@ const url = nconf.get('url'); const relative_path = nconf.get('relative_path'); const upload_url = nconf.get('upload_url'); -topicsController.get = async function getTopic(req, res, callback) { +topicsController.get = async function getTopic(req, res, next) { const tid = req.params.topic_id; if ( (req.params.post_index && !utils.isNumber(req.params.post_index) && req.params.post_index !== 'unread') || !utils.isNumber(tid) ) { - return callback(); + return next(); } let postIndex = parseInt(req.params.post_index, 10) || 1; const [ @@ -51,7 +51,7 @@ topicsController.get = async function getTopic(req, res, callback) { invalidPagination || (topicData.scheduled && !userPrivileges.view_scheduled) ) { - return callback(); + return next(); } if (!userPrivileges['topics:read'] || (!topicData.scheduled && topicData.deleted && !userPrivileges.view_deleted)) { @@ -334,12 +334,12 @@ topicsController.teaser = async function (req, res, next) { res.json(postData[0]); }; -topicsController.pagination = async function (req, res, callback) { +topicsController.pagination = async function (req, res, next) { const tid = req.params.topic_id; const currentPage = parseInt(req.query.page, 10) || 1; if (!utils.isNumber(tid)) { - return callback(); + return next(); } const [userPrivileges, settings, topic] = await Promise.all([ @@ -349,7 +349,7 @@ topicsController.pagination = async function (req, res, callback) { ]); if (!topic) { - return callback(); + return next(); } if (!userPrivileges.read || !privileges.topics.canViewDeletedScheduled(topic, userPrivileges)) { diff --git a/src/meta/configs.js b/src/meta/configs.js index be0e1eebcc..816e981141 100644 --- a/src/meta/configs.js +++ b/src/meta/configs.js @@ -4,7 +4,6 @@ const nconf = require('nconf'); const path = require('path'); const winston = require('winston'); -const util = require('util'); const db = require('../database'); const pubsub = require('../pubsub'); @@ -237,22 +236,15 @@ function ensureInteger(data, field, min) { } } -function lessRender(string, callback) { - const less = require('less'); - less.render(string, { - compress: true, - javascriptEnabled: true, - }, callback); -} - -const lessRenderAsync = util.promisify(lessRender); - async function saveRenderedCss(data) { if (!data.customCSS) { return; } - - const lessObject = await lessRenderAsync(data.customCSS); + const less = require('less'); + const lessObject = await less.render(data.customCSS, { + compress: true, + javascriptEnabled: true, + }); data.renderedCustomCSS = lessObject.css; }