diff --git a/app.js b/app.js index fb52efc6f144e839e095d995497529947cab5ce9..6a35016bf20f80ebc65b6f439165c01bdb80d81e 100644 --- a/app.js +++ b/app.js @@ -17,7 +17,7 @@ app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'pug'); //configure cookies -app.set('trust proxy', 1) // trust first proxy +app.set('trust proxy', 1) // trust first proxy app.use(session({ secret: 'bxbvxcbvixubc', resave: false, diff --git a/models/item.model.js b/models/item.model.js index b4b20fbd49fabb248fc589c5c0e78319a7f106a4..4f1650aa0f75a495515c359cf208b428917b227a 100644 --- a/models/item.model.js +++ b/models/item.model.js @@ -18,7 +18,7 @@ var Items = sequelize.define('Items', { tableItem: 'Items', }); -sequelize.sync().then(() => { +sequelize.sync({force:true}).then(() => { Items.create({ description: 'Slip semi-propre', price: 4, @@ -40,7 +40,7 @@ function getItemsByDate(page, step) { var offset = (page * step); return Items.findAll({ offset: offset, - limit: step, + limit: offset + step, order: [['createdAt', 'DESC']] }); } @@ -49,7 +49,7 @@ function getItemsByUserId(id, page, step){ var offset = (page * step); return Items.findAll({ offset: offset, - limit: step, + limit: offset + step, where: { userId: id } }); } @@ -58,7 +58,7 @@ function getItemsByDescription(description, page, step) { var offset = (page * step); return Items.findAll({ offset: offset, - limit: step, + limit: offset + step, where: { description: { $like: `%${description}%` } } }); } @@ -76,4 +76,4 @@ function deleteItem(id) { }) } -module.exports = {getItem, getItemsByDate, getItemsByUserId, getItemsByDescription, addItem, deleteItem} \ No newline at end of file +module.exports = {getItem, getItemsByDate, getItemsByUserId, getItemsByDescription, addItem, deleteItem} diff --git a/routes/item.route.js b/routes/item.route.js index 824f98b38759269d7f04a4ebf6549fc37909ef15..d98b6ca3ed38feacd69c3562d991abdcde4b5c93 100644 --- a/routes/item.route.js +++ b/routes/item.route.js @@ -1,29 +1,46 @@ -var express = require('express'); -var itemModel = require('../models/item.model'); -var router = express.Router(); +const express = require('express'); +const itemModel = require('../models/item.model'); +const router = express.Router(); -router.get('/:id', function(req, res) { - var id = parseInt(req.params.id); +const DEFAULT_PAGE = 0; +const DEFAULT_STEP = 10; + +router.get('/byId/:id', function(req, res) { + let id = parseInt(req.params.id); itemModel.getItem(id).then(out => res.json(out)); }); router.get('/date', function(req, res) { - var page = parseInt(req.params.page); - var step = parseInt(req.params.step); + console.log(req.query) + let page = parseInt(req.query.page); + let step = parseInt(req.query.step); + if(isNaN(page)) + page = DEFAULT_PAGE; + if(isNaN(step)) + step = DEFAULT_STEP; itemModel.getItemsByDate(page, step).then(out => res.json(out)); }); router.get('/userId', function(req, res) { - var userId = parseInt(req.params.userId); - var page = parseInt(req.params.page); - var step = parseInt(req.params.step); + console.log(req.query) + let userId = parseInt(req.query.uId); + let page = parseInt(req.query.page); + let step = parseInt(req.query.step); + if(isNaN(page)) + page = DEFAULT_PAGE; + if(isNaN(step)) + step = DEFAULT_STEP; itemModel.getItemsByUserId(userId, page, step).then(out => res.json(out)); }); router.get('/description', function(req, res) { - var page = parseInt(req.params.page); - var step = parseInt(req.params.step); - itemModel.getItemsByDescription(req.params.description, page, step).then(out => res.json(out)); + let page = parseInt(req.query.page); + let step = parseInt(req.query.step); + if(isNaN(page)) + page = DEFAULT_PAGE; + if(isNaN(step)) + step = DEFAULT_STEP; + itemModel.getItemsByDescription(req.query.desc, page, step).then(out => res.json(out)); }); router.post('/', function(req, res) { @@ -32,7 +49,7 @@ router.post('/', function(req, res) { }); router.delete('/:id', function(req, res) { - var id = parseInt(req.params.id); + let id = parseInt(req.params.id); itemModel.deleteItem(id).then(out => res.json(out.dataValues)) .catch(() => res.json({error: 'User does not exist'})); });