mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-07-20 04:20:25 +02:00
Topic hooks extension (#8413)
* Update data.js with new hook Implemented new 'filter:topic.getFields' hook as in posts * Update data.js * Update data.js
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user