Spaces:
Runtime error
Runtime error
module.exports = function (app) { | |
var Response = require('../lib/httpResponse.js'); | |
var Company = require('mongoose').model('Company'); | |
var acl = require('../lib/auth').acl; | |
// Get companies list | |
app.get( | |
'/api/companies', | |
acl.hasPermission('companies:read'), | |
function (req, res) { | |
Company.getAll() | |
.then(msg => Response.Ok(res, msg)) | |
.catch(err => Response.Internal(res, err)); | |
}, | |
); | |
// Create company | |
app.post( | |
'/api/companies', | |
acl.hasPermission('companies:create'), | |
function (req, res) { | |
if (!req.body.name) { | |
Response.BadParameters(res, 'Required paramters: name'); | |
return; | |
} | |
var company = {}; | |
// Required parameters | |
company.name = req.body.name; | |
// Optional parameters | |
if (req.body.shortName) company.shortName = req.body.shortName; | |
if (req.body.logo) company.logo = req.body.logo; | |
Company.create(company) | |
.then(msg => Response.Created(res, msg)) | |
.catch(err => Response.Internal(res, err)); | |
}, | |
); | |
// Update company | |
app.put( | |
'/api/companies/:id', | |
acl.hasPermission('companies:update'), | |
function (req, res) { | |
var company = {}; | |
// Optional parameters | |
if (req.body.name) company.name = req.body.name; | |
if (req.body.shortName) company.shortName = req.body.shortName; | |
if (req.body.logo) company.logo = req.body.logo; | |
Company.update(req.params.id, company) | |
.then(msg => Response.Ok(res, 'Company updated successfully')) | |
.catch(err => Response.Internal(res, err)); | |
}, | |
); | |
// Delete company | |
app.delete( | |
'/api/companies/:id', | |
acl.hasPermission('companies:delete'), | |
function (req, res) { | |
Company.delete(req.params.id) | |
.then(msg => Response.Ok(res, 'Company deleted successfully')) | |
.catch(err => Response.Internal(res, err)); | |
}, | |
); | |
}; | |