diff --git a/controller/barcodeScanningController.js b/controller/barcodeScanningController.js index 7e6854c..04f8135 100644 --- a/controller/barcodeScanningController.js +++ b/controller/barcodeScanningController.js @@ -10,7 +10,7 @@ const { // 0048151623426 const checkAllergen = async (req, res) => { const { user_id } = req.body; - const code = req.query.code; + const code = req.body?.barcode || req.query.code; try { if (!code) { diff --git a/controller/foodDataController.js b/controller/foodDataController.js index 1e3af4b..32fbc38 100644 --- a/controller/foodDataController.js +++ b/controller/foodDataController.js @@ -1,73 +1,9 @@ -const normalizeId = require("../utils/normalizeId"); -const FoodModel = require("../model/fooddata"); // Adjust path if needed - -/** - * Food Database controller - stabilized. - */ - -const getMealPlan = async (req, res) => { - const rawUserId = req.query?.user_id || req.query?.userId; - - try { - if (!rawUserId) { - return res.status(400).json({ success: false, error: "User Id is required" }); - } - - const userId = normalizeId(rawUserId); - - // Fetch from model - const mealPlan = await FoodModel.getMealPlanByUserId(userId); - - return res.status(200).json({ - success: true, - data: mealPlan || [] - }); - } catch (error) { - console.error("❌ getMealPlan error:", error); - return res.status(500).json({ success: false, error: "Failed to fetch meal plan", details: String(error.message || error) }); - } -}; - -const createMealPlan = async (req, res) => { - const { user_id, meals } = req.body; - - try { - if (!user_id) return res.status(400).json({ success: false, error: "user_id required" }); - - const userId = normalizeId(user_id); - const result = await FoodModel.createMealPlan(userId, meals); - - return res.status(201).json({ success: true, data: result }); - } catch (error) { - console.error("❌ createMealPlan error:", error); - return res.status(500).json({ success: false, error: "Failed to create meal plan", details: String(error.message || error) }); - } -}; - -const getNutritionByBarcode = async (req, res) => { - const { barcode } = req.params; - try { - const data = await FoodModel.getNutritionByBarcode(barcode); - - // If barcode not found, return 404 so clients can differentiate - if (!data) { - return res.status(404).json({ success: false, error: "Product not found" }); - } - - return res.status(200).json({ success: true, data }); - } catch (error) { - console.error("❌ getNutritionByBarcode error:", error); - return res.status(500).json({ success: false, error: "Barcode lookup failed", details: String(error.message || error) }); - } -}; - -module.exports = { getMealPlan, createMealPlan, getNutritionByBarcode }; -const fetchAllDietaryRequirements = require("../model/fetchAllDietaryRequirements.js"); -const fetchAllCuisines = require("../model/fetchAllCuisines.js"); -const fetchAllAllergies = require("../model/fetchAllAllergies.js"); -const fetchAllIngredients = require("../model/fetchAllIngredients.js"); -const fetchAllCookingMethods = require("../model/fetchAllCookingMethods.js"); -const fetchAllSpiceLevels = require("../model/fetchAllSpiceLevels.js"); +const fetchAllDietaryRequirements = require("../model/fetchAllDietaryRequirements"); +const fetchAllCuisines = require("../model/fetchAllCuisines"); +const fetchAllAllergies = require("../model/fetchAllAllergies"); +const fetchAllIngredients = require("../model/fetchAllIngredients"); +const fetchAllCookingMethods = require("../model/fetchAllCookingMethods"); +const fetchAllSpiceLevels = require("../model/fetchAllSpiceLevels"); const fetchAllHealthConditions = require("../model/fetchAllHealthConditions"); const logger = require("../utils/logger"); @@ -132,7 +68,7 @@ async function getCachedLookup(cacheKey, fetcher) { } function createLookupHandler(cacheKey, fetcher, label) { - return async (req, res) => { + return async (_req, res) => { try { const rows = await getCachedLookup(cacheKey, fetcher); return res.status(200).json(rows); diff --git a/routes/fooddata.js b/routes/fooddata.js index 2f3a740..33a250c 100644 --- a/routes/fooddata.js +++ b/routes/fooddata.js @@ -1,9 +1,17 @@ const express = require('express'); const router = express.Router(); -const controller = require('../controller/foodDatabaseController'); +const foodDatabaseController = require('../controller/foodDatabaseController'); +const foodDataController = require('../controller/foodDataController'); const validate = require('../middleware/validate'); const { foodSearchQuery } = require('../validators/schemas'); -router.get('/search', validate(foodSearchQuery, 'query'), controller.searchFood); +router.get('/search', validate(foodSearchQuery, 'query'), foodDatabaseController.searchFood); +router.get('/dietaryrequirements', foodDataController.getAllDietaryRequirements); +router.get('/cuisines', foodDataController.getAllCuisines); +router.get('/allergies', foodDataController.getAllAllergies); +router.get('/ingredients', foodDataController.getAllIngredients); +router.get('/cookingmethods', foodDataController.getAllCookingMethods); +router.get('/spicelevels', foodDataController.getAllSpiceLevels); +router.get('/healthconditions', foodDataController.getAllHealthConditions); module.exports = router;