Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const router = require('express').Router();
  2. const faker = require('faker');
  3. const Product = require('../models/product');
  4.  
  5.  
  6. router.get('/', (req, res) => {
  7.     res.render('index')
  8. });
  9.  
  10. router.get('/add-product', (req, res) => {
  11.     res.render('products/add-product')
  12. });
  13.  
  14. router.post('/add-product', (req, res, next) => {
  15.     const product = new Product();
  16.     product.category = req.body.category_name;
  17.     product.name = req.body.product_name;
  18.     product.price = req.body.product_price;
  19.     product.cover = faker.image.image();
  20.     product.save(err =>{
  21.         if (err){return next(err)}
  22.         res.redirect('add-product');
  23.     });
  24. });
  25.  
  26.  // Ruta que sirve para inyectar datos test en la api
  27. router.get('/generate-fake-data', (req, res) => {
  28.     for(let i = 0; i < 90; i++){
  29.         const product = new Product();
  30.         product.category = faker.commerce.department();
  31.         product.name = faker.commerce.productName();
  32.         product.price = faker.commerce.price();
  33.         product.cover = faker.image.image();
  34.         product.save(err => {
  35.             if (err){return next (err)}
  36.         });
  37.     }
  38.     res.redirect('/add-product')  
  39. });
  40.  
  41. router.get('/products/:page', (req, res, next) => {
  42.     let perPage = 9;
  43.     let page = req.params.page || 1;
  44.  
  45.     Product
  46.         .find({})
  47.         .skip(perPage * page -perPage)
  48.         .limit(perPage)
  49.         .exec((err, products) => {
  50.             Product.count((err, count) => {
  51.                 if (err) return next(err);
  52.                 res.render('products/products', {
  53.                     products,
  54.                     current: page,
  55.                     pages: Math.ceil(count / perPage)
  56.                 });
  57.             })
  58.         })
  59. });
  60.  
  61. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement