From 6650f006fb6ecf21f8041b1297bf5849b2396a05 Mon Sep 17 00:00:00 2001 From: kmtusher97 Date: Fri, 6 Sep 2024 20:58:29 +0600 Subject: [PATCH] Add filtering to backend --- e-commerce/backend/server.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/e-commerce/backend/server.js b/e-commerce/backend/server.js index a6f36a5..1bbd2f8 100644 --- a/e-commerce/backend/server.js +++ b/e-commerce/backend/server.js @@ -78,7 +78,23 @@ let products = [ // Get all products app.get('/api/products', (req, res) => { - res.json(products); + const { category } = req.query; + let filters = []; + if (typeof category === 'string') { + filters = [category.toLowerCase()]; + } else if (Array.isArray(category) && category.length) { + filters = category.map((category) => category.toLowerCase()); + } + if (!filters.length) { + res.json(products); + } + res.json( + products.filter((product) => + product.categories.some((category) => + filters.includes(category.toLowerCase()) + ) + ) + ); }); // Get a product by ID