postal_address.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const db = require('../models');
  2. module.exports = {
  3. get_all: (req, res, next) => {
  4. let where = {};
  5. if (req.query.type) {
  6. where.type = req.query.type;
  7. }
  8. return req.person.getPostalAddresses({
  9. order: [ 'type' ],
  10. where
  11. })
  12. .then((postalAddresses) => res.json(postalAddresses))
  13. .catch((err) => next(err));
  14. },
  15. get_by_id: (req, res, next) => {
  16. return req.person.getPostalAddresses({
  17. where: {
  18. id: req.params.postal_address_id
  19. }
  20. })
  21. .then((postalAddresses) => {
  22. if (postalAddresses.length === 0) {
  23. throw { status: 404, message: 'Requested PostalAddress not found' };
  24. }
  25. return res.json(postalAddresses[0]);
  26. })
  27. .catch((err) => next(err));
  28. },
  29. create: (req, res, next) => {
  30. const data = {
  31. address: req.body.address || '',
  32. city: req.body.city || '',
  33. country: req.body.country || '',
  34. type: req.body.type || 'home'
  35. };
  36. return req.person.createPostalAddress(data)
  37. .then((postalAddress) => res.json(postalAddress))
  38. .catch((err) => next(err));
  39. },
  40. update_by_id: (req, res, next) => {
  41. return req.person.getPostalAddresses({
  42. where: {
  43. id: req.params.postal_address_id
  44. }
  45. })
  46. .then((postalAddresses) => {
  47. if (postalAddresses.length === 0) {
  48. throw { status: 404, message: 'Requested PostalAddress not found' };
  49. }
  50. Object.assign(postalAddresses[0], req.body);
  51. return postalAddresses[0].save();
  52. })
  53. .then((postalAddress) => res.json(postalAddress))
  54. .catch((err) => next(err));
  55. },
  56. delete_by_id: (req, res, next) => {
  57. return req.person.getPostalAddresses({
  58. where: {
  59. id: req.params.postal_address_id
  60. }
  61. })
  62. .then((postalAddresses) => {
  63. if (postalAddresses.length === 0) {
  64. throw { status: 404, message: 'Requested PostalAddress not found' };
  65. }
  66. return postalAddresses[0].destroy();
  67. })
  68. .then(() => res.status(200).end())
  69. .catch((err) => next(err));
  70. }
  71. };