mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-17 11:11:04 +01:00
feat(api): #9123, migrate rest of the getObject controllers to Write API
This commit is contained in:
@@ -4,6 +4,7 @@ const user = require('../user');
|
||||
const topics = require('../topics');
|
||||
const posts = require('../posts');
|
||||
const meta = require('../meta');
|
||||
const privileges = require('../privileges');
|
||||
|
||||
const apiHelpers = require('./helpers');
|
||||
const doTopicAction = apiHelpers.doTopicAction;
|
||||
@@ -13,6 +14,18 @@ const socketHelpers = require('../socket.io/helpers');
|
||||
|
||||
const topicsAPI = module.exports;
|
||||
|
||||
topicsAPI.get = async function (caller, data) {
|
||||
const [userPrivileges, topic] = await Promise.all([
|
||||
privileges.topics.get(data.tid, caller.uid),
|
||||
topics.getTopicData(data.tid),
|
||||
]);
|
||||
if (!topic || !userPrivileges.read || !userPrivileges['topics:read'] || (topic.deleted && !userPrivileges.view_deleted)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return topic;
|
||||
};
|
||||
|
||||
topicsAPI.create = async function (caller, data) {
|
||||
if (!data) {
|
||||
throw new Error('[[error:invalid-data]]');
|
||||
|
||||
Reference in New Issue
Block a user