// Backend classification constants (mirror of frontend) const ITEM_TYPES = { PRODUCE: "produce", MEAT: "meat", DAIRY: "dairy", BAKERY: "bakery", FROZEN: "frozen", PANTRY: "pantry", BEVERAGE: "beverage", SNACK: "snack", HOUSEHOLD: "household", PERSONAL_CARE: "personal_care", OTHER: "other", }; const ITEM_GROUPS = { [ITEM_TYPES.PRODUCE]: [ "Fruits", "Vegetables", "Salad Mix", "Herbs", "Organic Produce", ], [ITEM_TYPES.MEAT]: [ "Beef", "Pork", "Chicken", "Seafood", "Deli Meat", "Prepared Meat", ], [ITEM_TYPES.DAIRY]: [ "Milk", "Cheese", "Yogurt", "Butter", "Eggs", "Cream", ], [ITEM_TYPES.BAKERY]: [ "Bread", "Rolls", "Pastries", "Cakes", "Bagels", "Tortillas", ], [ITEM_TYPES.FROZEN]: [ "Frozen Meals", "Ice Cream", "Frozen Vegetables", "Frozen Meat", "Pizza", "Desserts", ], [ITEM_TYPES.PANTRY]: [ "Canned Goods", "Pasta", "Rice", "Cereal", "Condiments", "Spices", "Baking", "Oils", ], [ITEM_TYPES.BEVERAGE]: [ "Water", "Soda", "Juice", "Coffee", "Tea", "Alcohol", "Sports Drinks", ], [ITEM_TYPES.SNACK]: [ "Chips", "Crackers", "Nuts", "Candy", "Cookies", "Protein Bars", ], [ITEM_TYPES.HOUSEHOLD]: [ "Cleaning Supplies", "Paper Products", "Laundry", "Kitchen Items", "Storage", ], [ITEM_TYPES.PERSONAL_CARE]: [ "Bath & Body", "Hair Care", "Oral Care", "Skincare", "Health", ], [ITEM_TYPES.OTHER]: [ "Miscellaneous", ], }; const ZONES = [ "Front Entry", "Fresh Foods Right", "Fresh Foods Left", "Center Aisles", "Bakery", "Meat Department", "Dairy Cooler", "Freezer Section", "Back Wall", "Checkout Area", ]; // Validation helpers const isValidItemType = (type) => Object.values(ITEM_TYPES).includes(type); const isValidItemGroup = (type, group) => { if (!isValidItemType(type)) return false; return ITEM_GROUPS[type]?.includes(group) || false; }; const isValidZone = (zone) => ZONES.includes(zone); module.exports = { ITEM_TYPES, ITEM_GROUPS, ZONES, isValidItemType, isValidItemGroup, isValidZone, };