From 16e60dcf63019fd0bf488728cfd55bd50375cad4 Mon Sep 17 00:00:00 2001 From: Nico Date: Mon, 16 Feb 2026 01:27:35 -0800 Subject: [PATCH] refactor: align legacy list controller with sendError --- backend/controllers/lists.controller.js | 43 +++++++++++++------------ 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/backend/controllers/lists.controller.js b/backend/controllers/lists.controller.js index b33f7b7..674bfa9 100644 --- a/backend/controllers/lists.controller.js +++ b/backend/controllers/lists.controller.js @@ -1,5 +1,6 @@ -const List = require("../models/list.model"); -const { isValidItemType, isValidItemGroup, isValidZone } = require("../constants/classifications"); +const List = require("../models/list.model"); +const { isValidItemType, isValidItemGroup, isValidZone } = require("../constants/classifications"); +const { sendError } = require("../utils/http"); exports.getList = async (req, res) => { @@ -57,9 +58,9 @@ exports.updateItemImage = async (req, res) => { const imageBuffer = req.processedImage?.buffer || null; const mimeType = req.processedImage?.mimeType || null; - if (!imageBuffer) { - return res.status(400).json({ message: "No image provided" }); - } + if (!imageBuffer) { + return sendError(res, 400, "No image provided"); + } // Update the item with new image await List.addOrUpdateItem(itemName, quantity, userId, imageBuffer, mimeType); @@ -89,17 +90,17 @@ exports.updateItemWithClassification = async (req, res) => { const { item_type, item_group, zone } = classification; // Validate classification data - if (item_type && !isValidItemType(item_type)) { - return res.status(400).json({ message: "Invalid item_type" }); - } - - if (item_group && !isValidItemGroup(item_type, item_group)) { - return res.status(400).json({ message: "Invalid item_group for selected item_type" }); - } - - if (zone && !isValidZone(zone)) { - return res.status(400).json({ message: "Invalid zone" }); - } + if (item_type && !isValidItemType(item_type)) { + return sendError(res, 400, "Invalid item_type"); + } + + if (item_group && !isValidItemGroup(item_type, item_group)) { + return sendError(res, 400, "Invalid item_group for selected item_type"); + } + + if (zone && !isValidZone(zone)) { + return sendError(res, 400, "Invalid zone"); + } // Upsert classification with confidence=1.0 and source='user' await List.upsertClassification(id, { @@ -112,8 +113,8 @@ exports.updateItemWithClassification = async (req, res) => { } res.json({ message: "Item updated successfully" }); - } catch (error) { - console.error("Error updating item with classification:", error); - res.status(500).json({ message: "Failed to update item" }); - } -}; \ No newline at end of file + } catch (error) { + console.error("Error updating item with classification:", error); + sendError(res, 500, "Failed to update item"); + } +};