feat(api): #9123, migrate rest of the getObject controllers to Write API

This commit is contained in:
Julian Lam
2020-12-28 19:52:46 -05:00
parent cdff8d286a
commit 9ecfac9b68
5 changed files with 35 additions and 29 deletions

View File

@@ -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]]');