UNPKG

sheercms

Version:

Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.

97 lines (81 loc) 2.83 kB
var logger = require('../logger'); var api = require('../api'); var auth = require('../auth'); var config = require('../config'); /* callback: (err) */ module.exports.init = function(server, callback) { //routes server.get('/cms/templates/list', auth.authenticate, routeTemplateList); server.get('/cms/templates/get', auth.authenticate, routeTemplateGet); server.post('/cms/templates/save', auth.authenticateAdmin, routeTemplateSave); server.post('/cms/templates/delete', auth.authenticateAdmin, routeTemplateDelete); //load the templates into the DUST cache api.templates.loadTemplates(function(err) { if (err) { if (callback) callback(err); } else { if (callback) callback(null); } }); }; function routeTemplateList(req, res, next) { try { api.templates.getTemplates(false, function(err, templates) { if (err) res.json({ success: false, message: 'Error retrieving the templates.'}); else { res.json({ success: true, templates: templates }); } }); } catch(e) { logger.error(e); res.json({ success: false, message: 'Error retrieving the templates.'}); } }; function routeTemplateGet(req, res, next) { try { var id = req.query.templateId; api.templates.getTemplate(id, function(err, template) { if (err) res.json({ success: false, message: 'Error retrieving the template.'}); else res.json({ success: true, template: template }); }); } catch(e) { logger.error(e); res.json({ success: false, message: 'Error retrieving the template.'}); } }; function routeTemplateDelete(req, res, next) { try { var id = req.body.templateId; api.templates.delete(id, function(err) { if (err) res.json({ success: false, message: err.message}); else res.json({ success: true, message: 'Template deleted successfully.' }); }); } catch(e) { logger.error(e); res.json({ success: false, message: 'Error deleting the template.'}); } }; function routeTemplateSave(req, res, next) { try { var json = req.body.data; var t = JSON.parse(json); var username = req.user.username; api.templates.save(t, username, function(err, template) { if (err) res.json({ success: false, message: err.message }); else res.json({ success: true, message: 'Template saved successfully.', template: template }); }); } catch(e) { logger.error(e); res.json({ success: false, message: 'Error saving the template.'}); } };