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