christroutner

Image Upload - routes/api/imageupload.js

Nov 24th, 2015
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. var async = require('async'),
  2. keystone = require('keystone');
  3.  
  4. var ImgData = keystone.list('ImageUpload');
  5.  
  6. /**
  7. * List Images
  8. */
  9. exports.list = function(req, res) {
  10. ImgData.model.find(function(err, items) {
  11.  
  12. if (err) return res.apiError('database error', err);
  13.  
  14. res.apiResponse({
  15. collections: items
  16. });
  17.  
  18. });
  19. }
  20.  
  21. /**
  22. * Get Image by ID
  23. */
  24. exports.get = function(req, res) {
  25.  
  26. ImgData.model.findById(req.params.id).exec(function(err, item) {
  27.  
  28. if (err) return res.apiError('database error', err);
  29. if (!item) return res.apiError('not found');
  30.  
  31. res.apiResponse({
  32. collection: item
  33. });
  34.  
  35. });
  36. }
  37.  
  38.  
  39. /**
  40. * Update Image by ID
  41. */
  42. exports.update = function(req, res) {
  43. ImgData.model.findById(req.params.id).exec(function(err, item) {
  44.  
  45. if (err) return res.apiError('database error', err);
  46. if (!item) return res.apiError('not found');
  47.  
  48. var data = (req.method == 'POST') ? req.body : req.query;
  49.  
  50. item.getUpdateHandler(req).process(data, function(err) {
  51.  
  52. if (err) return res.apiError('create error', err);
  53.  
  54. res.apiResponse({
  55. collection: item
  56. });
  57.  
  58. });
  59.  
  60. });
  61. }
  62.  
  63. /**
  64. * Upload a New Image
  65. */
  66. exports.create = function(req, res) {
  67.  
  68. var item = new ImgData.model(),
  69. data = (req.method == 'POST') ? req.body : req.query;
  70.  
  71. item.getUpdateHandler(req).process(req.files, function(err) {
  72.  
  73. if (err) return res.apiError('error', err);
  74.  
  75. res.apiResponse({
  76. image_upload: item
  77. });
  78.  
  79. });
  80. }
Advertisement
Add Comment
Please, Sign In to add comment