Advertisement
Dilan1991

Untitled

Apr 29th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1.  
  2. var express = require('express');
  3. var app = express();
  4. var itemRoutes = express.Router();
  5. const multer = require("multer");
  6. const path = require('path')
  7. // Require Item model in our routes module
  8. var Item = require('../models/Item');
  9. let JSFtp = require("jsftp");
  10. const fs = require('fs');
  11. // Defined store route
  12. var storage = multer.diskStorage({
  13. destination: function (req, file, cb) {
  14. cb(null, './uploads/')
  15. },
  16. filename: function (req, file, cb) {
  17. console.log(file)
  18. cb(null, file.originalname)
  19. }
  20. });
  21.  
  22. var upload = multer({ storage: storage }).single('imageItem')
  23.  
  24. itemRoutes.post('/upload/image', function (req, res, next) {
  25. try {
  26.  
  27. upload(req, res, function (err) {
  28. if (err) {
  29.  
  30. } else {
  31. console.log(req.file)
  32. if (req.file) {
  33. console.log("Berhasil Kasih Proses")
  34. let file = path.join(__dirname, '../uploads/' + req.file.filename);
  35. let fileDestination = "vending_machine/product/" + req.file.filename
  36. let fileHost = "http://filehosting.pptik.id/" + fileDestination
  37.  
  38. let Ftp = new JSFtp({
  39. host: 'ftp.pptik.id',
  40. port: 21,
  41. user: 'ftp.pptik.id|ftppptik',
  42. pass: 'XxYyZz123!'
  43.  
  44.  
  45. });
  46. Ftp.put(file, fileDestination, function (err) {
  47. if (err);
  48. else {
  49. fs.unlink(file, (err => {
  50. if (err) console.log(err);
  51. }))
  52. let ImageDetail = { originalname: req.file.originalname, filename: req.file.filename, http_path: fileHost, type: "Image", size: req.file.size, encoding: req.file.encoding };
  53. console.log(ImageDetail)
  54. Ftp.destroy();
  55. console.log("Working")
  56. }
  57. })
  58. console.log(fileHost);
  59. } else {
  60. console.log("Failed")
  61. }
  62. }
  63. })
  64. } catch (erro) {
  65. console.log(err)
  66. }
  67. });
  68.  
  69. itemRoutes.route('/add').post(function (req, res) {
  70. var item = new Item(req.body);
  71. console.log(item)
  72. console.log("Image")
  73. console.log(item.file)
  74. item.save()
  75. .then(item => {
  76. res.status(200).json({ 'item': 'Item added successfully' });
  77. })
  78. .catch(err => {
  79. res.status(400).send("unable to save to database");
  80. });
  81. });
  82.  
  83. // Defined get data(index or listing) route
  84. itemRoutes.route('/').get(function (req, res) {
  85. Item.find(function (err, items) {
  86. if (err) {
  87. console.log(err);
  88. }
  89. else {
  90. res.json(items);
  91. }
  92. });
  93. });
  94.  
  95. itemRoutes.route('/getMax').get(function (req, res) {
  96. Item.find().sort('-productCode').limit(1).exec(function (err, data) {
  97. if (err) {
  98. console.log(err)
  99. } else {
  100. res.json(data)
  101.  
  102. }
  103. })
  104. })
  105.  
  106.  
  107. // Defined edit route
  108. itemRoutes.route('/edit/:id').get(function (req, res) {
  109. var id = req.params.id;
  110. Item.findById(id, function (err, item) {
  111. res.json(item);
  112. });
  113. });
  114.  
  115. itemRoutes.route('/detail/:id').get(function (req, res) {
  116. var id = req.params.id;
  117. Item.findById(id, function (err, item) {
  118. res.json(item);
  119. });
  120. });
  121.  
  122. itemRoutes.route('/product/:id').get(function (req, res) {
  123. var id = req.params.id;
  124. Item.find({productCode:id}, function (err, item) {
  125. res.json(item);
  126. });
  127. });
  128.  
  129. itemRoutes.route('/productName/:id').get(function (req, res) {
  130. var id = req.params.id;
  131. Item.find({productName:{$regex:id}}, function (err, item) {
  132. res.json(item);
  133. });
  134. });
  135.  
  136. // Defined update route
  137. itemRoutes.route('/update/:id').post(function (req, res) {
  138. Item.findById(req.params.id, function (err, item) {
  139. if (!item)
  140. return next(new Error('Could not load Document'));
  141. else {
  142.  
  143. item.productName = req.body.productName;
  144. item.productCode =req.body.productCode;
  145. item.stock = req.body.stock;
  146. item.price = req.body.price;
  147. item.pictureLink =req.body.pictureLink;
  148.  
  149. item.save().then(item => {
  150. res.json('Update complete');
  151. })
  152. .catch(err => {
  153. res.status(400).send("unable to update the database");
  154. });
  155. }
  156. });
  157. });
  158.  
  159.  
  160. // Defined delete | remove | destroy route
  161. itemRoutes.route('/delete/:id').get(function (req, res) {
  162. Item.findByIdAndRemove({ _id: req.params.id }, function (err, item) {
  163. if (err) res.json(err);
  164. else res.json('Successfully removed');
  165. });
  166. });
  167.  
  168. module.exports = itemRoutes;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement