Plato on Github
Report Home
ampersand/template/express/fakeApi.js
Maintainability
76.44
Lines of code
77
Difficulty
20.24
Estimated Errors
0.56
Function weight
By Complexity
By SLOC
var _ = require('lodash'); var people = [ { id: 1, firstName: 'Henrik', lastName: 'Joreteg', coolnessFactor: 11 }, { id: 2, firstName: 'Bob', lastName: 'Saget', coolnessFactor: 2 }, { id: 3, firstName: 'Larry', lastName: 'King', coolnessFactor: 4 }, { id: 4, firstName: 'Diana', lastName: 'Ross', coolnessFactor: 6 }, { id: 5, firstName: 'Crazy', lastName: 'Dave', coolnessFactor: 8 }, { id: 6, firstName: 'Larry', lastName: 'Johannson', coolnessFactor: 4 } ]; var id = 7; function get(id) { return _.findWhere(people, {id: parseInt(id + '', 10)}); } exports.list = function (req, res) { res.send(people); }; exports.add = function (req, res) { var person = req.body; person.id = id++; people.push(person); res.status(201).send(person); }; exports.get = function (req, res) { var found = get(req.params.id); res.status(found ? 200 : 404); res.send(found); }; exports.delete = function (req, res) { var found = get(req.params.id); if (found) people = _.without(people, found); res.status(found ? 200 : 404); res.send(found); }; exports.update = function (req, res) { var found = get(req.params.id); if (found) _.extend(found, req.body); res.status(found ? 200 : 404); res.send(found); };