From c0bba501b54a74e4f56c7f3c0fc8816576063a8a Mon Sep 17 00:00:00 2001 From: Varun Date: Wed, 12 Mar 2025 12:36:50 +0530 Subject: [PATCH 1/2] get details of particular hardwareId --- src/controllers/storeController.js | 20 ++++++++++++++++++++ src/routes/storeRoute.js | 23 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/controllers/storeController.js b/src/controllers/storeController.js index 8be96192..9b66ce6e 100644 --- a/src/controllers/storeController.js +++ b/src/controllers/storeController.js @@ -1228,7 +1228,27 @@ exports.generateHardwareMasterId = async (req, reply) => { } }; +exports.getSensorByHardwareId = async (req, reply) => { + try { + const { storeId } = req.params; + const { hardwareId } = req.body; + + if (!hardwareId) { + return reply.code(400).send({ message: 'hardwareId is required' }); + } + + const sensor = await Insensors.findOne({ storeId, hardwareId }); + if (!sensor) { + return reply.code(404).send({ message: 'Sensor not found' }); + } + + return reply.code(200).send(sensor); + } catch (error) { + console.error('Error fetching sensor by hardwareId:', error); + return reply.code(500).send({ message: 'Internal Server Error' }); + } +}; exports.updateSensorById = async (req, reply) => { try { diff --git a/src/routes/storeRoute.js b/src/routes/storeRoute.js index bed69c81..4b3a3535 100644 --- a/src/routes/storeRoute.js +++ b/src/routes/storeRoute.js @@ -1158,6 +1158,29 @@ fastify.post('/api/generateHardwareMasterId/:storeId', { handler: storeController.generateHardwareMasterId, }); +fastify.post('/api/getSensorByHardwareId/:storeId', { + schema: { + description: 'Fetch details of a specific sensor using hardwareId', + tags: ['Store-Data'], + summary: 'Retrieve sensor details by hardwareId', + params: { + required: ['storeId'], + type: 'object', + properties: { + storeId: { type: 'string', description: 'Store ID' }, + }, + }, + body: { + type: 'object', + required: ['hardwareId'], + properties: { + hardwareId: { type: 'string', description: 'Hardware ID of the sensor' }, + }, + }, + }, + handler: storeController.getSensorByHardwareId, +}); + fastify.post("/api/updateSensorById/:_id", { schema: { description: "Edit specific sensor fields", From c9c80655e1629e77500a1260cd5bf7e64b14849f Mon Sep 17 00:00:00 2001 From: Varun Date: Wed, 12 Mar 2025 12:37:18 +0530 Subject: [PATCH 2/2] changes --- src/controllers/storeController.js | 1 + src/routes/storeRoute.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/controllers/storeController.js b/src/controllers/storeController.js index 9b66ce6e..19a9e10c 100644 --- a/src/controllers/storeController.js +++ b/src/controllers/storeController.js @@ -1230,6 +1230,7 @@ exports.generateHardwareMasterId = async (req, reply) => { exports.getSensorByHardwareId = async (req, reply) => { try { + const { storeId } = req.params; const { hardwareId } = req.body; diff --git a/src/routes/storeRoute.js b/src/routes/storeRoute.js index 4b3a3535..1cb83fa2 100644 --- a/src/routes/storeRoute.js +++ b/src/routes/storeRoute.js @@ -1158,6 +1158,7 @@ fastify.post('/api/generateHardwareMasterId/:storeId', { handler: storeController.generateHardwareMasterId, }); + fastify.post('/api/getSensorByHardwareId/:storeId', { schema: { description: 'Fetch details of a specific sensor using hardwareId',