58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
|
|
||
|
const productsJson = require("./products.json")
|
||
|
class ProductController {
|
||
|
findAll(req, res) {
|
||
|
//Gerar produtos fake
|
||
|
/* const fakeProducts = generateFlowers(50)
|
||
|
console.log(fakeProducts); */
|
||
|
const params = req.query;
|
||
|
let productsFilter = productsJson
|
||
|
|
||
|
if (Number(params.featured)) {
|
||
|
productsFilter = productsFilter.filter(item => item.featured === Number(params.featured))
|
||
|
}
|
||
|
/*let productsFilterPages = []
|
||
|
|
||
|
const totalItens = params?.itens ? Number(params.itens) : 200
|
||
|
const productFilterItens = params?.itens ? products.slice(0, totalItens) : products
|
||
|
|
||
|
|
||
|
if (Number(params.itensPerPage) > 1) {
|
||
|
const itensPerPage = Number(params.itensPerPage)
|
||
|
const totalPages = Math.ceil(productFilterItens.length / itensPerPage)
|
||
|
for (let i = 1; i <= totalPages; i++) {
|
||
|
const startIndex = (i - 1) * itensPerPage;
|
||
|
const endIndex = i * itensPerPage;
|
||
|
const lastestIndex = endIndex > totalItens ? totalItens : endIndex
|
||
|
productsFilterPages.push({
|
||
|
page: i,
|
||
|
itensPerProduct: lastestIndex - startIndex,
|
||
|
products: productFilterItens.slice(startIndex, lastestIndex)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
productsFilterPages.push({
|
||
|
page: 1,
|
||
|
itensPerProduct: totalItens,
|
||
|
products: productFilterItens
|
||
|
})
|
||
|
} */
|
||
|
|
||
|
return res.status(200).send({
|
||
|
data: productsFilter
|
||
|
})
|
||
|
}
|
||
|
|
||
|
findBySlug(req, res) {
|
||
|
const slug = req.params.slug
|
||
|
const products = productsJson
|
||
|
const filterSlug = products.filter(item => item.slug === slug)
|
||
|
|
||
|
return res.status(200).send({
|
||
|
data: filterSlug
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = new ProductController();
|