refactor: api categories

v1.18.x
Barış Soner Uşaklı 4 years ago
parent e78c498e84
commit 083c74e059

@ -162,7 +162,7 @@ define('admin/manage/categories', [
}; };
Categories.create = function (payload) { Categories.create = function (payload) {
socket.emit('admin.categories.create', payload, function (err, data) { api.post('/categories', payload, function (err, data) {
if (err) { if (err) {
return app.alertError(err.message); return app.alertError(err.message);
} }

@ -131,7 +131,6 @@ async function buildNamespace(language, namespace) {
const cache = {}; const cache = {};
async function getDictionary(language) { async function getDictionary(language) {
console.log('get dictionary', language);
if (cache[language]) { if (cache[language]) {
return cache[language]; return cache[language];
} }

@ -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'), users: require('./users'),
groups: require('./groups'), groups: require('./groups'),
topics: require('./topics'), topics: require('./topics'),
categories: require('./categories'),
}; };

@ -1,37 +1,26 @@
'use strict'; 'use strict';
const categories = require('../../categories'); const categories = require('../../categories');
const events = require('../../events'); const api = require('../../api');
const helpers = require('../helpers'); const helpers = require('../helpers');
const Categories = module.exports; const Categories = module.exports;
Categories.create = async (req, res) => { Categories.create = async (req, res) => {
const response = await categories.create(req.body); const response = await api.categories.create(req, req.body);
const categoryObjs = await categories.getCategories([response.cid]); helpers.formatApiResponse(200, res, response);
helpers.formatApiResponse(200, res, categoryObjs[0]);
}; };
Categories.update = async (req, res) => { Categories.update = async (req, res) => {
const payload = {}; const payload = {};
payload[req.params.cid] = req.body; payload[req.params.cid] = req.body;
await api.categories.update(req, payload);
await categories.update(payload);
const categoryObjs = await categories.getCategories([req.params.cid]); const categoryObjs = await categories.getCategories([req.params.cid]);
helpers.formatApiResponse(200, res, categoryObjs[0]); helpers.formatApiResponse(200, res, categoryObjs[0]);
}; };
Categories.delete = async (req, res) => { Categories.delete = async (req, res) => {
const name = await categories.getCategoryField(req.params.cid, 'name'); await api.categories.delete(req, { cid: req.params.cid });
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,
});
helpers.formatApiResponse(200, res); helpers.formatApiResponse(200, res);
}; };

@ -8,6 +8,7 @@ const categories = require('../../categories');
const privileges = require('../../privileges'); const privileges = require('../../privileges');
const plugins = require('../../plugins'); const plugins = require('../../plugins');
const events = require('../../events'); const events = require('../../events');
const api = require('../../api');
const sockets = require('..'); const sockets = require('..');
const Categories = module.exports; const Categories = module.exports;
@ -18,8 +19,7 @@ Categories.create = async function (socket, data) {
if (!data) { if (!data) {
throw new Error('[[error:invalid-data]]'); throw new Error('[[error:invalid-data]]');
} }
return await api.categories.create(socket, data);
return await categories.create(data);
}; };
// DEPRECATED: @1.14.3, remove in version >=1.16 // DEPRECATED: @1.14.3, remove in version >=1.16
@ -42,15 +42,7 @@ Categories.getNames = async function () {
Categories.purge = async function (socket, cid) { Categories.purge = async function (socket, cid) {
sockets.warnDeprecated(socket, 'DELETE /api/v3/categories/:cid'); sockets.warnDeprecated(socket, 'DELETE /api/v3/categories/:cid');
const name = await categories.getCategoryField(cid, 'name'); await api.categories.delete(socket, { cid: cid });
await categories.purge(cid, socket.uid);
await events.log({
type: 'category-purge',
uid: socket.uid,
ip: socket.ip,
cid: cid,
name: name,
});
}; };
Categories.update = async function (socket, data) { Categories.update = async function (socket, data) {
@ -59,8 +51,7 @@ Categories.update = async function (socket, data) {
if (!data) { if (!data) {
throw new Error('[[error:invalid-data]]'); throw new Error('[[error:invalid-data]]');
} }
return await api.categories.update(socket, data);
return await categories.update(data);
}; };
Categories.setPrivilege = async function (socket, data) { Categories.setPrivilege = async function (socket, data) {

Loading…
Cancel
Save