feat: added POST /api/v1/categories route
parent
a5af2dc819
commit
dc666fd8a9
@ -0,0 +1,13 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const categories = require('../../categories');
|
||||||
|
|
||||||
|
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]);
|
||||||
|
};
|
@ -0,0 +1,86 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const router = require('express').Router();
|
||||||
|
const middleware = require('../../middleware');
|
||||||
|
const controllers = require('../../controllers');
|
||||||
|
const routeHelpers = require('../../routes/helpers');
|
||||||
|
|
||||||
|
const setupApiRoute = routeHelpers.setupApiRoute;
|
||||||
|
|
||||||
|
module.exports = function () {
|
||||||
|
const middlewares = [middleware.authenticate];
|
||||||
|
|
||||||
|
setupApiRoute(router, '/', middleware, [...middlewares, middleware.checkRequired.bind(null, ['name'])], 'post', controllers.write.categories.create);
|
||||||
|
|
||||||
|
// app.post('/', apiMiddleware.requireUser, apiMiddleware.requireAdmin, function(req, res) {
|
||||||
|
// if (!utils.checkRequired(['name'], req, res)) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Categories.create(req.body, function(err, categoryObj) {
|
||||||
|
// return errorHandler.handle(err, res, categoryObj);
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
// app.route('/:cid')
|
||||||
|
// .put(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCid, function(req, res) {
|
||||||
|
// var payload = {};
|
||||||
|
// payload[req.params.cid] = req.body;
|
||||||
|
|
||||||
|
// Categories.update(payload, function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// .delete(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCid, function(req, res) {
|
||||||
|
// Categories.purge(req.params.cid, req.user.uid, function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
// app.route('/:cid/state')
|
||||||
|
// .put(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCid, function(req, res) {
|
||||||
|
// var payload = {};
|
||||||
|
// payload[req.params.cid] = {
|
||||||
|
// disabled: 0
|
||||||
|
// };
|
||||||
|
|
||||||
|
// Categories.update(payload, function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// .delete(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCid, function(req, res) {
|
||||||
|
// var payload = {};
|
||||||
|
// payload[req.params.cid] = {
|
||||||
|
// disabled: 1
|
||||||
|
// };
|
||||||
|
|
||||||
|
// Categories.update(payload, function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
// app.route('/:cid/privileges')
|
||||||
|
// .put(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCidIncludingGlobal, function(req, res) {
|
||||||
|
// changeGroupMembership(req.params.cid, req.body.privileges, req.body.groups, 'join', function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// .delete(apiMiddleware.requireUser, apiMiddleware.requireAdmin, apiMiddleware.validateCidIncludingGlobal, function(req, res) {
|
||||||
|
// changeGroupMembership(req.params.cid, req.body.privileges, req.body.groups, 'leave', function(err) {
|
||||||
|
// return errorHandler.handle(err, res);
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
// function changeGroupMembership(cid, privileges, groups, action, callback) {
|
||||||
|
// privileges = Array.isArray(privileges) ? privileges : [privileges];
|
||||||
|
// groups = Array.isArray(groups) ? groups : [groups];
|
||||||
|
|
||||||
|
// async.each(groups, function(group, groupCb) {
|
||||||
|
// async.each(privileges, function(privilege, privilegeCb) {
|
||||||
|
// Groups[action]('cid:' + cid + ':privileges:' + privilege, group, privilegeCb);
|
||||||
|
// }, groupCb);
|
||||||
|
// }, callback);
|
||||||
|
// }
|
||||||
|
|
||||||
|
return router;
|
||||||
|
};
|
Loading…
Reference in New Issue