nyx_server
Version:
Node内容发布
78 lines (68 loc) • 2.28 kB
JavaScript
var express = require('express');
var columnRouter = express.Router();
var Log = require('../core/log');
var cache = require("../core/Cache").cache;
var _ = require("lodash");
var templateLoaderFn = require("../core/TemplateLoader");
var columns = require("../core/admin/Columns");
var cache = require("../core/Cache").cache;
module.exports = columnRouter;
/**
* 创建栏目
*/
columnRouter.post('/column', function (req, res) {
var name = req.body.name;
var parentId = req.body.parentId;
var descr = req.body.descr;
columns.addColumn({name:name,parentId:parentId,descr:descr}).then(function(column){
res.json({success:true , data:column})
}).catch(function(err){
res.json({success:false,message:err.message});
});
});
columnRouter.get("/exist/:parentId/:columnName" , function(req , res){
var parentId = req.params.parentId;
var columnName = req.params.columnName;
columns.isExistChild(parentId , columnName).then(function(exist){
res.json({success:true, data:exist})
}).catch(function(err){
res.json({success:false,message:err.message});
});
});
/**
* 获取所有
* @param parent 父栏目id
*/
columnRouter.get('/children/:parent', function (req, res) {
var parent = req.params.parent;
if(parent == 'null'){
parent = null;
}
columns.getChildren(parent).then(function(columns){
res.json({success:true, data:columns})
}).catch(function(err){
res.json({success:false,message:err.message});
});
});
/**
* 获取栏目下可以看见的模板信息
*/
columnRouter.get("/template/:path" , function(req , res){
var path = req.params.path; //栏目路径
var logger = Log.getLogger(req.path);
var context = {
log: logger,
cache: cache
};
templateLoaderFn.loaderTemplateWithPath.bind(context)(path).then(function(templates){
var ret = templates.map(function(template){
var ret = Object.assign(template.config);
ret.name = template.name+"_"+template._ownerProject.name;
return ret;
});
res.json({success:true , data:ret});
}).catch(function(err){
console.log(err);
res.json({success:false, message:err.message});
});
});