mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
refactor: api categories
This commit is contained in:
@@ -162,7 +162,7 @@ define('admin/manage/categories', [
|
||||
};
|
||||
|
||||
Categories.create = function (payload) {
|
||||
socket.emit('admin.categories.create', payload, function (err, data) {
|
||||
api.post('/categories', payload, function (err, data) {
|
||||
if (err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
@@ -131,7 +131,6 @@ async function buildNamespace(language, namespace) {
|
||||
const cache = {};
|
||||
|
||||
async function getDictionary(language) {
|
||||
console.log('get dictionary', language);
|
||||
if (cache[language]) {
|
||||
return cache[language];
|
||||
}
|
||||
|
||||
28
src/api/categories.js
Normal file
28
src/api/categories.js
Normal file
@@ -0,0 +1,28 @@
|
||||
'use strict';
|
||||
|
||||
const categories = require('../categories');
|
||||
const events = require('../events');
|
||||
|
||||
const categoriesAPI = module.exports;
|
||||
|
||||
categoriesAPI.create = async function (caller, data) {
|
||||
const response = await categories.create(data);
|
||||
const categoryObjs = await categories.getCategories([response.cid], caller.uid);
|
||||
return categoryObjs[0];
|
||||
};
|
||||
|
||||
categoriesAPI.update = async function (caller, data) {
|
||||
await categories.update(data);
|
||||
};
|
||||
|
||||
categoriesAPI.delete = async function (caller, data) {
|
||||
const name = await categories.getCategoryField(data.cid, 'name');
|
||||
await categories.purge(data.cid, caller.uid);
|
||||
await events.log({
|
||||
type: 'category-purge',
|
||||
uid: caller.uid,
|
||||
ip: caller.ip,
|
||||
cid: data.cid,
|
||||
name: name,
|
||||
});
|
||||
};
|
||||
@@ -4,4 +4,5 @@ module.exports = {
|
||||
users: require('./users'),
|
||||
groups: require('./groups'),
|
||||
topics: require('./topics'),
|
||||
categories: require('./categories'),
|
||||
};
|
||||
|
||||
@@ -1,37 +1,26 @@
|
||||
'use strict';
|
||||
|
||||
const categories = require('../../categories');
|
||||
const events = require('../../events');
|
||||
const api = require('../../api');
|
||||
|
||||
const helpers = require('../helpers');
|
||||
|
||||
const Categories = module.exports;
|
||||
|
||||
Categories.create = async (req, res) => {
|
||||
const response = await categories.create(req.body);
|
||||
const categoryObjs = await categories.getCategories([response.cid]);
|
||||
helpers.formatApiResponse(200, res, categoryObjs[0]);
|
||||
const response = await api.categories.create(req, req.body);
|
||||
helpers.formatApiResponse(200, res, response);
|
||||
};
|
||||
|
||||
Categories.update = async (req, res) => {
|
||||
const payload = {};
|
||||
payload[req.params.cid] = req.body;
|
||||
|
||||
await categories.update(payload);
|
||||
await api.categories.update(req, payload);
|
||||
const categoryObjs = await categories.getCategories([req.params.cid]);
|
||||
helpers.formatApiResponse(200, res, categoryObjs[0]);
|
||||
};
|
||||
|
||||
Categories.delete = async (req, res) => {
|
||||
const name = await categories.getCategoryField(req.params.cid, 'name');
|
||||
await categories.purge(req.params.cid, req.user.uid);
|
||||
await events.log({
|
||||
type: 'category-purge',
|
||||
uid: req.user.uid,
|
||||
ip: req.ip,
|
||||
cid: req.params.cid,
|
||||
name: name,
|
||||
});
|
||||
|
||||
await api.categories.delete(req, { cid: req.params.cid });
|
||||
helpers.formatApiResponse(200, res);
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@ const categories = require('../../categories');
|
||||
const privileges = require('../../privileges');
|
||||
const plugins = require('../../plugins');
|
||||
const events = require('../../events');
|
||||
const api = require('../../api');
|
||||
const sockets = require('..');
|
||||
|
||||
const Categories = module.exports;
|
||||
@@ -18,8 +19,7 @@ Categories.create = async function (socket, data) {
|
||||
if (!data) {
|
||||
throw new Error('[[error:invalid-data]]');
|
||||
}
|
||||
|
||||
return await categories.create(data);
|
||||
return await api.categories.create(socket, data);
|
||||
};
|
||||
|
||||
// DEPRECATED: @1.14.3, remove in version >=1.16
|
||||
@@ -42,15 +42,7 @@ Categories.getNames = async function () {
|
||||
Categories.purge = async function (socket, cid) {
|
||||
sockets.warnDeprecated(socket, 'DELETE /api/v3/categories/:cid');
|
||||
|
||||
const name = await categories.getCategoryField(cid, 'name');
|
||||
await categories.purge(cid, socket.uid);
|
||||
await events.log({
|
||||
type: 'category-purge',
|
||||
uid: socket.uid,
|
||||
ip: socket.ip,
|
||||
cid: cid,
|
||||
name: name,
|
||||
});
|
||||
await api.categories.delete(socket, { cid: cid });
|
||||
};
|
||||
|
||||
Categories.update = async function (socket, data) {
|
||||
@@ -59,8 +51,7 @@ Categories.update = async function (socket, data) {
|
||||
if (!data) {
|
||||
throw new Error('[[error:invalid-data]]');
|
||||
}
|
||||
|
||||
return await categories.update(data);
|
||||
return await api.categories.update(socket, data);
|
||||
};
|
||||
|
||||
Categories.setPrivilege = async function (socket, data) {
|
||||
|
||||
Reference in New Issue
Block a user