diff --git a/apps/backend/off-service.js b/apps/backend/off-service.js index e05259e..3066e56 100644 --- a/apps/backend/off-service.js +++ b/apps/backend/off-service.js @@ -69,8 +69,12 @@ export async function searchBabyProducts(query) { .map(transformOFFProduct) .filter(Boolean); - await redisClient.setEx(cacheKey, CACHE_TTL, JSON.stringify(products)); - console.log(`Cached ${products.length} OFF products for: ${searchTerm}`); + try { + await redisClient.setEx(cacheKey, CACHE_TTL, JSON.stringify(products)); + console.log(`Cached ${products.length} OFF products for: ${searchTerm}`); + } catch (cacheErr) { + // cache write failed, still return the data + } return products; } @@ -104,8 +108,12 @@ export async function getBabyProductDetails(barcode) { const product = transformOFFProduct(response.data.product); if (product) { - await redisClient.setEx(cacheKey, CACHE_TTL, JSON.stringify(product)); - console.log(`Cached OFF product: ${barcode}`); + try { + await redisClient.setEx(cacheKey, CACHE_TTL, JSON.stringify(product)); + console.log(`Cached OFF product: ${barcode}`); + } catch (cacheErr) { + // cache write failed, still return the data + } return product; } } diff --git a/apps/backend/server.js b/apps/backend/server.js index 5136f0b..fb3ffdc 100644 --- a/apps/backend/server.js +++ b/apps/backend/server.js @@ -601,7 +601,7 @@ app.get('/api/medicines/:medicineId', async (req, res) => { // ========== UNIFIED PRODUCT SEARCH ========== -app.get('/api/products/search', async (req, res) => { +app.get('/api/products/search', searchLimiter, async (req, res) => { try { const { q } = req.query; if (!q || q.trim().length < 2) { diff --git a/apps/frontend/src/components/MedicineResults.jsx b/apps/frontend/src/components/MedicineResults.jsx index 37f0cd3..5c28627 100644 --- a/apps/frontend/src/components/MedicineResults.jsx +++ b/apps/frontend/src/components/MedicineResults.jsx @@ -6,9 +6,8 @@ import { subscribeToPush, unsubscribeFromPush, } from '../utils/notifications.js'; -import ProductResults from './ProductResults'; -function MedicineResults({ medicines, products = [], onSelect, onSelectProduct, query, currentUser, onLoginRequest }) { +function MedicineResults({ medicines, onSelect, query, currentUser, onLoginRequest }) { if (medicines.length === 0 && query.length >= 2) { return (
@@ -28,12 +27,6 @@ function MedicineResults({ medicines, products = [], onSelect, onSelectProduct, onLoginRequest={onLoginRequest} /> ))} - {products.length > 0 && ( -
-

Parafarmacia y Bebé

- -
- )}
); } diff --git a/apps/frontend/src/components/ProductResults.jsx b/apps/frontend/src/components/ProductResults.jsx index b2d0280..db9c680 100644 --- a/apps/frontend/src/components/ProductResults.jsx +++ b/apps/frontend/src/components/ProductResults.jsx @@ -41,7 +41,7 @@ function ProductResults({ products, onSelect }) { } function ProductCard({ product, onSelect }) { - const nutriScore = product.nutri_score; + const nutriScore = product.nutriscore; const nutriScoreColors = { a: '#16a34a', b: '#65a30d',