person.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. const
  2. db = require('../models'),
  3. Sequelize = require('sequelize');
  4. module.exports = {
  5. get_all: (req, res, next) => {
  6. let where = {};
  7. if (req.query.name) {
  8. where.lastname = {
  9. [Sequelize.Op.like]: '%'+req.query.name+'%'
  10. };
  11. }
  12. return db.Person.findAll({
  13. order: [ 'lastname' ],
  14. where
  15. })
  16. .then((people) => res.json(people))
  17. .catch((err) => next(err));
  18. },
  19. load_by_id: (req, res, next) => {
  20. return db.Person.findByPk(req.params.person_id)
  21. .then((person) => {
  22. if (!person) {
  23. throw { status: 404, message: 'Requested Person not found' };
  24. }
  25. req.person = person;
  26. return next();
  27. })
  28. .catch((err) => next(err));
  29. },
  30. get_by_id: (req, res, next) => {
  31. return db.Person.findByPk(req.params.person_id)
  32. .then((person) => {
  33. if (!person) {
  34. throw { status: 404, message: 'Requested Person not found' };
  35. }
  36. return res.json(person);
  37. })
  38. .catch((err) => next(err));
  39. },
  40. create: (req, res, next) => {
  41. const data = {
  42. firstname: req.body.firstname || '',
  43. lastname: req.body.lastname || ''
  44. };
  45. return db.Person.create(data)
  46. .then((person) => res.json(person))
  47. .catch((err) => next(err));
  48. },
  49. update_by_id: (req, res, next) => {
  50. return db.Person.findByPk(req.params.person_id)
  51. .then((person) => {
  52. if (!person) {
  53. throw { status: 404, message: 'Requested Person not found' };
  54. }
  55. Object.assign(person, req.body);
  56. return person.save();
  57. })
  58. .then((person) => res.json(person))
  59. .catch((err) => next(err));
  60. },
  61. delete_by_id: (req, res, next) => {
  62. return db.Person.findByPk(req.params.person_id)
  63. .then((person) => {
  64. if (!person) {
  65. throw { status: 404, message: 'Requested Person not found' };
  66. }
  67. return person.destroy();
  68. })
  69. .then(() => res.status(200).end())
  70. .catch((err) => next(err));
  71. }
  72. };