|  |  |  | @ -690,6 +690,14 @@ exports.editStore = async (request, reply) => { | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   const generatewaterlevelheightsensorId = async () => { | 
			
		
	
		
			
				
					|  |  |  |  |     const result = await Counter.findOneAndUpdate( | 
			
		
	
		
			
				
					|  |  |  |  |       { _id: 'waterlevelheightsensor_id' }, | 
			
		
	
		
			
				
					|  |  |  |  |       { $inc: { seq: 1 } }, | 
			
		
	
		
			
				
					|  |  |  |  |       { upsert: true, new: true } | 
			
		
	
		
			
				
					|  |  |  |  |     ); | 
			
		
	
		
			
				
					|  |  |  |  |     return result.seq; | 
			
		
	
		
			
				
					|  |  |  |  |   }; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -1167,18 +1175,35 @@ exports.installmotorswitch = async (request, reply) => { | 
			
		
	
		
			
				
					|  |  |  |  | exports.updateSensorById = async (req, reply) => { | 
			
		
	
		
			
				
					|  |  |  |  |   try { | 
			
		
	
		
			
				
					|  |  |  |  |     const { _id } = req.params; | 
			
		
	
		
			
				
					|  |  |  |  |     const updateData = req.body; | 
			
		
	
		
			
				
					|  |  |  |  |     let updateData = req.body; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     const allowedFields = ["model", "type", "hardwareId_company", "hardwareId", "masterId"]; | 
			
		
	
		
			
				
					|  |  |  |  |     const allowedFields = ["model", "type", "hardwareId_company", "hardwareId"]; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     // Filter out unwanted fields
 | 
			
		
	
		
			
				
					|  |  |  |  |     // Filter out unwanted fields and convert type to lowercase if present
 | 
			
		
	
		
			
				
					|  |  |  |  |     const filteredUpdateData = Object.keys(updateData) | 
			
		
	
		
			
				
					|  |  |  |  |       .filter((key) => allowedFields.includes(key)) | 
			
		
	
		
			
				
					|  |  |  |  |       .reduce((obj, key) => { | 
			
		
	
		
			
				
					|  |  |  |  |         obj[key] = updateData[key]; | 
			
		
	
		
			
				
					|  |  |  |  |         obj[key] = key === "type" ? updateData[key].toLowerCase() : updateData[key]; | 
			
		
	
		
			
				
					|  |  |  |  |         return obj; | 
			
		
	
		
			
				
					|  |  |  |  |       }, {}); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     // Generate masterId if type is provided
 | 
			
		
	
		
			
				
					|  |  |  |  |     if (filteredUpdateData.type) { | 
			
		
	
		
			
				
					|  |  |  |  |       let mater_seq_id; | 
			
		
	
		
			
				
					|  |  |  |  |       const date = moment().format("MM-DD"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       if (filteredUpdateData.type === "master") { | 
			
		
	
		
			
				
					|  |  |  |  |         mater_seq_id = await generatewaterlevelsensorId(); | 
			
		
	
		
			
				
					|  |  |  |  |         filteredUpdateData.masterId = `AS${date}MALOV1${mater_seq_id}`; | 
			
		
	
		
			
				
					|  |  |  |  |       } else if (filteredUpdateData.type === "slave") { | 
			
		
	
		
			
				
					|  |  |  |  |         mater_seq_id = await generatewaterlevelslavesensorId(); | 
			
		
	
		
			
				
					|  |  |  |  |         filteredUpdateData.masterId = `AS${date}SLLOV1${mater_seq_id}`; | 
			
		
	
		
			
				
					|  |  |  |  |       } else if (filteredUpdateData.type === "sensor") { | 
			
		
	
		
			
				
					|  |  |  |  |         mater_seq_id = await generatewaterlevelheightsensorId(); | 
			
		
	
		
			
				
					|  |  |  |  |         filteredUpdateData.masterId = `AS${date}SELOV1${mater_seq_id}`; | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     const updatedSensor = await Insensors.findByIdAndUpdate(_id, filteredUpdateData, { new: true }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     if (!updatedSensor) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |