Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var app = express();
- var itemRoutes = express.Router();
- const multer = require("multer");
- const path = require('path')
- // Require Item model in our routes module
- var Item = require('../models/Item');
- let JSFtp = require("jsftp");
- const fs = require('fs');
- // Defined store route
- var storage = multer.diskStorage({
- destination: function (req, file, cb) {
- cb(null, './uploads/')
- },
- filename: function (req, file, cb) {
- console.log(file)
- cb(null, file.originalname)
- }
- });
- var upload = multer({ storage: storage }).single('imageItem')
- itemRoutes.post('/upload/image', function (req, res, next) {
- try {
- upload(req, res, function (err) {
- if (err) {
- } else {
- console.log(req.file)
- if (req.file) {
- console.log("Berhasil Kasih Proses")
- let file = path.join(__dirname, '../uploads/' + req.file.filename);
- let fileDestination = "vending_machine/product/" + req.file.filename
- let fileHost = "http://filehosting.pptik.id/" + fileDestination
- let Ftp = new JSFtp({
- host: 'ftp.pptik.id',
- port: 21,
- user: 'ftp.pptik.id|ftppptik',
- pass: 'XxYyZz123!'
- });
- Ftp.put(file, fileDestination, function (err) {
- if (err);
- else {
- fs.unlink(file, (err => {
- if (err) console.log(err);
- }))
- let ImageDetail = { originalname: req.file.originalname, filename: req.file.filename, http_path: fileHost, type: "Image", size: req.file.size, encoding: req.file.encoding };
- console.log(ImageDetail)
- Ftp.destroy();
- console.log("Working")
- }
- })
- console.log(fileHost);
- } else {
- console.log("Failed")
- }
- }
- })
- } catch (erro) {
- console.log(err)
- }
- });
- itemRoutes.route('/add').post(function (req, res) {
- var item = new Item(req.body);
- console.log(item)
- console.log("Image")
- console.log(item.file)
- item.save()
- .then(item => {
- res.status(200).json({ 'item': 'Item added successfully' });
- })
- .catch(err => {
- res.status(400).send("unable to save to database");
- });
- });
- // Defined get data(index or listing) route
- itemRoutes.route('/').get(function (req, res) {
- Item.find(function (err, items) {
- if (err) {
- console.log(err);
- }
- else {
- res.json(items);
- }
- });
- });
- itemRoutes.route('/getMax').get(function (req, res) {
- Item.find().sort('-productCode').limit(1).exec(function (err, data) {
- if (err) {
- console.log(err)
- } else {
- res.json(data)
- }
- })
- })
- // Defined edit route
- itemRoutes.route('/edit/:id').get(function (req, res) {
- var id = req.params.id;
- Item.findById(id, function (err, item) {
- res.json(item);
- });
- });
- itemRoutes.route('/detail/:id').get(function (req, res) {
- var id = req.params.id;
- Item.findById(id, function (err, item) {
- res.json(item);
- });
- });
- itemRoutes.route('/product/:id').get(function (req, res) {
- var id = req.params.id;
- Item.find({productCode:id}, function (err, item) {
- res.json(item);
- });
- });
- itemRoutes.route('/productName/:id').get(function (req, res) {
- var id = req.params.id;
- Item.find({productName:{$regex:id}}, function (err, item) {
- res.json(item);
- });
- });
- // Defined update route
- itemRoutes.route('/update/:id').post(function (req, res) {
- Item.findById(req.params.id, function (err, item) {
- if (!item)
- return next(new Error('Could not load Document'));
- else {
- item.productName = req.body.productName;
- item.productCode =req.body.productCode;
- item.stock = req.body.stock;
- item.price = req.body.price;
- item.pictureLink =req.body.pictureLink;
- item.save().then(item => {
- res.json('Update complete');
- })
- .catch(err => {
- res.status(400).send("unable to update the database");
- });
- }
- });
- });
- // Defined delete | remove | destroy route
- itemRoutes.route('/delete/:id').get(function (req, res) {
- Item.findByIdAndRemove({ _id: req.params.id }, function (err, item) {
- if (err) res.json(err);
- else res.json('Successfully removed');
- });
- });
- module.exports = itemRoutes;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement