|
|
|
@ -6,6 +6,7 @@ var db = require('../database');
|
|
|
|
|
var categories = require('../categories');
|
|
|
|
|
var utils = require('../utils');
|
|
|
|
|
var translator = require('../translator');
|
|
|
|
|
const plugins = require('../plugins');
|
|
|
|
|
|
|
|
|
|
const intFields = [
|
|
|
|
|
'tid', 'cid', 'uid', 'mainPid', 'postcount',
|
|
|
|
@ -21,8 +22,14 @@ module.exports = function (Topics) {
|
|
|
|
|
}
|
|
|
|
|
const keys = tids.map(tid => 'topic:' + tid);
|
|
|
|
|
const topics = await (fields.length ? db.getObjectsFields(keys, fields) : db.getObjects(keys));
|
|
|
|
|
topics.forEach(topic => modifyTopic(topic, fields));
|
|
|
|
|
return topics;
|
|
|
|
|
const result = await plugins.fireHook('filter:topic.getFields', {
|
|
|
|
|
tids: tids,
|
|
|
|
|
topics: topics,
|
|
|
|
|
fields: fields,
|
|
|
|
|
keys: keys,
|
|
|
|
|
});
|
|
|
|
|
result.topics.forEach(topic => modifyTopic(topic, fields));
|
|
|
|
|
return result.topics;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Topics.getTopicField = async function (tid, field) {
|
|
|
|
|