person_ctrl.js 1.6 KB

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