Skip to content
Snippets Groups Projects
Commit cfadbc4c authored by Nicolas Fley's avatar Nicolas Fley
Browse files

type item ajouté

parent 4f5accfb
Branches master
No related tags found
No related merge requests found
...@@ -13,6 +13,7 @@ sequelize ...@@ -13,6 +13,7 @@ sequelize
var Items = sequelize.define('Items', { var Items = sequelize.define('Items', {
description: Sequelize.STRING, description: Sequelize.STRING,
price: Sequelize.FLOAT, price: Sequelize.FLOAT,
typeItem: Sequelize.INTEGER, // typeDemande
userId: Sequelize.INTEGER userId: Sequelize.INTEGER
}, { }, {
tableItem: 'Items', tableItem: 'Items',
...@@ -23,12 +24,14 @@ sequelize.sync({force:true}).then(() => { ...@@ -23,12 +24,14 @@ sequelize.sync({force:true}).then(() => {
description: 'Slip semi-propre', description: 'Slip semi-propre',
price: 4, price: 4,
userId: 1, userId: 1,
typeItem: 2
}).then(out => console.log(out.dataValues)); }).then(out => console.log(out.dataValues));
Items.create({ Items.create({
description: 'Bon shit sa mère', description: 'Bon shit sa mère',
price: 10, price: 10,
userId: 2, userId: 2,
typeItem: 1
}).then(out => console.log(out.dataValues)); }).then(out => console.log(out.dataValues));
}) })
...@@ -36,35 +39,56 @@ function getItem(id) { ...@@ -36,35 +39,56 @@ function getItem(id) {
return Items.findById(id); return Items.findById(id);
} }
function getItemsByDate(page, step) { function getItemsByDate(page, step, typeItem) {
var offset = (page * step); var offset = (page * step);
let where = {}
if(!isNaN(typeItem)){
where = {typeItem : typeItem}
}
console.log(where)
return Items.findAll({ return Items.findAll({
offset: offset, offset: offset,
limit: offset + step, limit: offset + step,
order: [['createdAt', 'DESC']] order: [['createdAt', 'DESC']],
where: where
}); });
} }
function getItemsByUserId(id, page, step){ function getItemsByUserId(id, page, step, typeItem){
var offset = (page * step); var offset = (page * step);
let where = {userId: id}
if(!isNaN(typeItem)){
where = {
typeItem : typeItem,
userId: id
}
}
return Items.findAll({ return Items.findAll({
offset: offset, offset: offset,
limit: offset + step, limit: offset + step,
where: { userId: id } where: where
}); });
} }
function getItemsByDescription(description, page, step) { function getItemsByDescription(description, page, step, typeItem) {
var offset = (page * step); var offset = (page * step);
let where = { description: { $like: `%${description}%` } }
if(!isNaN(typeItem)){
where = {
description: { $like: `%${description}%` },
typeItem : typeItem
}
}
console.log(where)
return Items.findAll({ return Items.findAll({
offset: offset, offset: offset,
limit: offset + step, limit: offset + step,
where: { description: { $like: `%${description}%` } } where: where
}); });
} }
function addItem(description, price, userId) { function addItem(description, price, userId, typeItem) {
return Items.create({ description: description, price: price, userId: userId }); return Items.create({ description: description, price: price, userId: userId, typeItem : typeItem});
} }
function deleteItem(id) { function deleteItem(id) {
...@@ -76,4 +100,12 @@ function deleteItem(id) { ...@@ -76,4 +100,12 @@ function deleteItem(id) {
}) })
} }
module.exports = {getItem, getItemsByDate, getItemsByUserId, getItemsByDescription, addItem, deleteItem} module.exports = {
getItem,
getItemsByDate,
getItemsByUserId,
getItemsByDescription,
addItem,
deleteItem,
typeItem : {demande : 1,offre : 2}
}
...@@ -11,40 +11,41 @@ router.get('/byId/:id', function(req, res) { ...@@ -11,40 +11,41 @@ router.get('/byId/:id', function(req, res) {
}); });
router.get('/date', function(req, res) { router.get('/date', function(req, res) {
console.log(req.query)
let page = parseInt(req.query.page); let page = parseInt(req.query.page);
let step = parseInt(req.query.step); let step = parseInt(req.query.step);
let typeItem = parseInt(req.query.typeItem);
if(isNaN(page)) if(isNaN(page))
page = DEFAULT_PAGE; page = DEFAULT_PAGE;
if(isNaN(step)) if(isNaN(step))
step = DEFAULT_STEP; step = DEFAULT_STEP;
itemModel.getItemsByDate(page, step).then(out => res.json(out)); itemModel.getItemsByDate(page, step, typeItem).then(out => res.json(out));
}); });
router.get('/userId', function(req, res) { router.get('/userId', function(req, res) {
console.log(req.query)
let userId = parseInt(req.query.uId); let userId = parseInt(req.query.uId);
let page = parseInt(req.query.page); let page = parseInt(req.query.page);
let step = parseInt(req.query.step); let step = parseInt(req.query.step);
let typeItem = parseInt(req.query.typeItem);
if(isNaN(page)) if(isNaN(page))
page = DEFAULT_PAGE; page = DEFAULT_PAGE;
if(isNaN(step)) if(isNaN(step))
step = DEFAULT_STEP; step = DEFAULT_STEP;
itemModel.getItemsByUserId(userId, page, step).then(out => res.json(out)); itemModel.getItemsByUserId(userId, page, step, typeItem).then(out => res.json(out));
}); });
router.get('/description', function(req, res) { router.get('/description', function(req, res) {
let page = parseInt(req.query.page); let page = parseInt(req.query.page);
let step = parseInt(req.query.step); let step = parseInt(req.query.step);
let typeItem = parseInt(req.query.typeItem);
if(isNaN(page)) if(isNaN(page))
page = DEFAULT_PAGE; page = DEFAULT_PAGE;
if(isNaN(step)) if(isNaN(step))
step = DEFAULT_STEP; step = DEFAULT_STEP;
itemModel.getItemsByDescription(req.query.desc, page, step).then(out => res.json(out)); itemModel.getItemsByDescription(req.query.desc, page, step, typeItem).then(out => res.json(out));
}); });
router.post('/', function(req, res) { router.post('/', function(req, res) {
itemModel.addItem(req.body.description, req.body.price, req.body.userId).then(out => res.json(out.dataValues)) itemModel.addItem(req.body.description, req.body.price, req.body.userId, req.body.typeItem).then(out => res.json(out.dataValues))
.catch(err => res.json(err)); .catch(err => res.json(err));
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment