From ce6b20c4b716db4af0086409b3c9894a0d9ef699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 24 Jul 2020 12:02:16 -0400 Subject: [PATCH] feat: remove topics.async.getTopicData usage --- src/analytics.js | 2 +- src/categories/index.js | 2 +- src/database/mongo.js | 2 +- src/database/postgres.js | 2 +- src/database/redis.js | 2 +- src/groups/index.js | 2 +- src/messaging/index.js | 2 +- src/meta/index.js | 2 +- src/notifications.js | 2 +- src/plugins/index.js | 2 +- src/posts/index.js | 2 +- src/privileges/index.js | 2 +- src/promisify.js | 37 +++---------------------------------- src/search.js | 2 +- src/topics/index.js | 2 +- src/user/index.js | 2 +- 16 files changed, 18 insertions(+), 49 deletions(-) diff --git a/src/analytics.js b/src/analytics.js index dcc9c2ac9d..8f30eaf46c 100644 --- a/src/analytics.js +++ b/src/analytics.js @@ -238,4 +238,4 @@ Analytics.getBlacklistAnalytics = async function () { }); }; -Analytics.async = require('./promisify')(Analytics); +require('./promisify')(Analytics); diff --git a/src/categories/index.js b/src/categories/index.js index 371f71a579..16113d8cc3 100644 --- a/src/categories/index.js +++ b/src/categories/index.js @@ -367,4 +367,4 @@ Categories.buildForSelectCategories = function (categories, fields) { return categoriesData.map(category => _.pick(category, pickFields)); }; -Categories.async = require('../promisify')(Categories); +require('../promisify')(Categories); diff --git a/src/database/mongo.js b/src/database/mongo.js index 1339872839..e6e5e040a9 100644 --- a/src/database/mongo.js +++ b/src/database/mongo.js @@ -178,4 +178,4 @@ require('./mongo/sorted')(mongoModule); require('./mongo/list')(mongoModule); require('./mongo/transaction')(mongoModule); -mongoModule.async = require('../promisify')(mongoModule, ['client', 'sessionStore']); +require('../promisify')(mongoModule, ['client', 'sessionStore']); diff --git a/src/database/postgres.js b/src/database/postgres.js index 55b7ce99b0..c718f1d2e4 100644 --- a/src/database/postgres.js +++ b/src/database/postgres.js @@ -420,4 +420,4 @@ require('./postgres/sorted')(postgresModule); require('./postgres/list')(postgresModule); require('./postgres/transaction')(postgresModule); -postgresModule.async = require('../promisify')(postgresModule, ['client', 'sessionStore', 'pool', 'transaction']); +require('../promisify')(postgresModule, ['client', 'sessionStore', 'pool', 'transaction']); diff --git a/src/database/redis.js b/src/database/redis.js index 82a6eead47..00719443b5 100644 --- a/src/database/redis.js +++ b/src/database/redis.js @@ -155,4 +155,4 @@ require('./redis/sorted')(redisModule); require('./redis/list')(redisModule); require('./redis/transaction')(redisModule); -redisModule.async = require('../promisify')(redisModule, ['client', 'sessionStore']); +require('../promisify')(redisModule, ['client', 'sessionStore']); diff --git a/src/groups/index.js b/src/groups/index.js index 231b876c1c..5c00c89d53 100644 --- a/src/groups/index.js +++ b/src/groups/index.js @@ -228,4 +228,4 @@ Groups.existsBySlug = async function (slug) { return await db.isObjectField('groupslug:groupname', slug); }; -Groups.async = require('../promisify')(Groups); +require('../promisify')(Groups); diff --git a/src/messaging/index.js b/src/messaging/index.js index 96887fd2b7..9a05e682e9 100644 --- a/src/messaging/index.js +++ b/src/messaging/index.js @@ -284,4 +284,4 @@ Messaging.hasPrivateChat = async (uid, withUid) => { return roomId; }; -Messaging.async = require('../promisify')(Messaging); +require('../promisify')(Messaging); diff --git a/src/meta/index.js b/src/meta/index.js index 4dda954001..f2826d7b22 100644 --- a/src/meta/index.js +++ b/src/meta/index.js @@ -68,4 +68,4 @@ Meta.getSessionTTLSeconds = function () { return ttl; }; -Meta.async = require('../promisify')(Meta); +require('../promisify')(Meta); diff --git a/src/notifications.js b/src/notifications.js index 1b307cf9b6..eda2548ffb 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -418,4 +418,4 @@ Notifications.merge = async function (notifications) { return data && data.notifications; }; -Notifications.async = require('./promisify')(Notifications); +require('./promisify')(Notifications); diff --git a/src/plugins/index.js b/src/plugins/index.js index 5a89ce6fe7..e126cee97d 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -351,4 +351,4 @@ async function findNodeBBModules(dirs) { return pluginPaths; } -Plugins.async = require('../promisify')(Plugins); +require('../promisify')(Plugins); diff --git a/src/posts/index.js b/src/posts/index.js index 331a0d6b79..a17556644b 100644 --- a/src/posts/index.js +++ b/src/posts/index.js @@ -103,4 +103,4 @@ Posts.modifyPostByPrivilege = function (post, privileges) { } }; -Posts.async = require('../promisify')(Posts); +require('../promisify')(Posts); diff --git a/src/privileges/index.js b/src/privileges/index.js index b1cb6c8e76..ff98c342a9 100644 --- a/src/privileges/index.js +++ b/src/privileges/index.js @@ -49,4 +49,4 @@ require('./topics')(privileges); require('./posts')(privileges); require('./users')(privileges); -privileges.async = require('../promisify')(privileges); +require('../promisify')(privileges); diff --git a/src/promisify.js b/src/promisify.js index f56e8e68bc..b795c17c35 100644 --- a/src/promisify.js +++ b/src/promisify.js @@ -1,7 +1,6 @@ 'use strict'; -var util = require('util'); -var _ = require('lodash'); +const util = require('util'); module.exports = function (theModule, ignoreKeys) { ignoreKeys = ignoreKeys || []; @@ -9,7 +8,7 @@ module.exports = function (theModule, ignoreKeys) { if (typeof func !== 'function') { return false; } - var str = func.toString().split('\n')[0]; + const str = func.toString().split('\n')[0]; return str.includes('callback)'); } @@ -17,13 +16,12 @@ module.exports = function (theModule, ignoreKeys) { return fn && fn.constructor && fn.constructor.name === 'AsyncFunction'; } - function promisifyRecursive(module) { if (!module) { return; } - var keys = Object.keys(module); + const keys = Object.keys(module); keys.forEach(function (key) { if (ignoreKeys.includes(key)) { return; @@ -61,34 +59,5 @@ module.exports = function (theModule, ignoreKeys) { }; } - var parts = []; - function deprecateRecursive(module, key) { - if (!module) { - return; - } - if (key) { - parts.push(key); - } - var keys = Object.keys(module); - keys.forEach(function (key) { - if (ignoreKeys.includes(key)) { - return; - } - - if (typeof module[key] === 'object') { - deprecateRecursive(module[key], key); - } - - if (typeof module[key] === 'function') { - module[key] = require('util').deprecate(module[key], '.async.' + (parts.concat([key]).join('.')) + ' usage is deprecated use .' + (parts.concat([key]).join('.')) + ' directly!'); - } - }); - parts.pop(); - } - promisifyRecursive(theModule); - const asyncModule = _.cloneDeep(theModule); - deprecateRecursive(asyncModule); - - return asyncModule; }; diff --git a/src/search.js b/src/search.js index 5e4bc11429..bc75e87a66 100644 --- a/src/search.js +++ b/src/search.js @@ -300,4 +300,4 @@ async function getSearchUids(data) { return await user.getUidsByUsernames(Array.isArray(data.postedBy) ? data.postedBy : [data.postedBy]); } -search.async = require('./promisify')(search); +require('./promisify')(search); diff --git a/src/topics/index.js b/src/topics/index.js index 23c0c8c14e..23a578baec 100644 --- a/src/topics/index.js +++ b/src/topics/index.js @@ -283,4 +283,4 @@ Topics.search = async function (tid, term) { return Array.isArray(pids) ? pids : []; }; -Topics.async = require('../promisify')(Topics); +require('../promisify')(Topics); diff --git a/src/user/index.js b/src/user/index.js index 8afc88bf55..7c0d8f8226 100644 --- a/src/user/index.js +++ b/src/user/index.js @@ -307,4 +307,4 @@ User.addInterstitials = function (callback) { callback(); }; -User.async = require('../promisify')(User); +require('../promisify')(User);