mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-11 00:15:46 +01:00
feat(api): #9123, migrate rest of the getObject controllers to Write API
This commit is contained in:
@@ -2,9 +2,22 @@
|
||||
|
||||
const categories = require('../categories');
|
||||
const events = require('../events');
|
||||
const privileges = require('../privileges');
|
||||
|
||||
const categoriesAPI = module.exports;
|
||||
|
||||
categoriesAPI.get = async function (caller, data) {
|
||||
const [userPrivileges, category] = await Promise.all([
|
||||
privileges.categories.get(data.cid, caller.uid),
|
||||
categories.getCategoryData(data.cid),
|
||||
]);
|
||||
if (!category || !userPrivileges.read) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return category;
|
||||
};
|
||||
|
||||
categoriesAPI.create = async function (caller, data) {
|
||||
const response = await categories.create(data);
|
||||
const categoryObjs = await categories.getCategories([response.cid], caller.uid);
|
||||
|
||||
@@ -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