demeter

Autonomous Hydroponic Intelligence
commit e35872fb3fbf787d11ae601fd4df4c969ac39b3c
parent 189722d6dbb4d9c1d51964d1fd0994cc03c7f7b4
Author: AbhinavRai01 <abhinavrai004@gmail.com>
Date:   Fri, 27 Mar 2026 19:54:01 +0530

controllers made

Diffstat:
Mbackend/node_server/controllers/cropController.js | 20++++++++++++++++++--
Mbackend/node_server/index.js | 2+-
Mbackend/node_server/routes/cropRoutes.js | 3++-
Msimulator/main.py | 4+++-
4 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/backend/node_server/controllers/cropController.js b/backend/node_server/controllers/cropController.js @@ -35,4 +35,20 @@ const createCrop = async (req, res) => { } }; -module.exports = { createCrop }; -\ No newline at end of file +const getAllCrops = async (req, res) => { + console.log('getAllCrops endpoint called'); + try { + const crops = await CropStateSchema.find(); + console.log(`Retrieved ${crops.length} crops from the database.`); + res.status(200).json({ + message: 'Crops retrieved successfully', + data: crops + }); + } catch (error) { + res.status(500).json({ error: error.message }); + } finally { + console.log('getAllCrops endpoint was called'); + } +}; + +module.exports = { createCrop, getAllCrops }; +\ No newline at end of file diff --git a/backend/node_server/index.js b/backend/node_server/index.js @@ -18,7 +18,7 @@ connectMongoDB(); // Mount Routes // All routes inside farmRoutes will be prefixed with /api app.use('/api', farmRoutes); -app.use('/api/crop', cropRoutes); +app.use('/api/crops', cropRoutes); app.listen(PORT, () => { console.log(`🚀 Server running on port ${PORT}`); diff --git a/backend/node_server/routes/cropRoutes.js b/backend/node_server/routes/cropRoutes.js @@ -1,7 +1,8 @@ const express = require('express'); const router = express.Router(); -const { createCrop } = require('../controllers/cropController'); +const { createCrop, getAllCrops } = require('../controllers/cropController'); router.post('/create', createCrop); +router.get('/all', getAllCrops); module.exports = router; \ No newline at end of file diff --git a/simulator/main.py b/simulator/main.py @@ -218,7 +218,9 @@ async def get_all_states(): continue crop_type = crop.get("crop", "lettuce").lower() - age_hours = crop.get("simulated_age_hours", 0) + age_hours = crop.get("sequence_number", 0) * crop.get("cycle_duration_hours", 1) + + print(f"Simulating Crop ID: {cid} | Type: {crop_type} | Age (hrs): {age_hours}") cycle_duration = crop.get("cycle_duration_hours", 1) new_stage = crop.get("stage", "seedling")