|  |  |  | @ -3586,10 +3586,12 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     const existingIssues = supportRecord.issues || []; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     // Find existing unresolved issue
 | 
			
		
	
		
			
				
					|  |  |  |  |     const existingMasterIssue = existingIssues.find( | 
			
		
	
		
			
				
					|  |  |  |  |       issue => | 
			
		
	
		
			
				
					|  |  |  |  |         issue.hardwareId === connected_to && | 
			
		
	
		
			
				
					|  |  |  |  |         issue.type === "GSM or LoRa Disconnected" | 
			
		
	
		
			
				
					|  |  |  |  |         issue.type === "GSM or LoRa Disconnected" && | 
			
		
	
		
			
				
					|  |  |  |  |         issue.resolved !== true // <-- only unresolved
 | 
			
		
	
		
			
				
					|  |  |  |  |     ); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     const alreadyReportedSlaves = new Set( | 
			
		
	
	
		
			
				
					|  |  |  | @ -3614,7 +3616,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { | 
			
		
	
		
			
				
					|  |  |  |  |       (newSlaveHardwareIds.length > 0 || !existingMasterIssue) | 
			
		
	
		
			
				
					|  |  |  |  |     ) { | 
			
		
	
		
			
				
					|  |  |  |  |       if (!existingMasterIssue) { | 
			
		
	
		
			
				
					|  |  |  |  |         // Create new issue
 | 
			
		
	
		
			
				
					|  |  |  |  |         // Create new issue with resolved: false
 | 
			
		
	
		
			
				
					|  |  |  |  |         const newIssue = { | 
			
		
	
		
			
				
					|  |  |  |  |           type: "GSM or LoRa Disconnected", | 
			
		
	
		
			
				
					|  |  |  |  |           masterHardwareId: connected_to, | 
			
		
	
	
		
			
				
					|  |  |  | @ -3623,7 +3625,8 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { | 
			
		
	
		
			
				
					|  |  |  |  |           slaveNames: newSlaveNames, | 
			
		
	
		
			
				
					|  |  |  |  |           message: `Master ${connected_to} is disconnected along with ${newSlaveHardwareIds.length} new slave(s)`, | 
			
		
	
		
			
				
					|  |  |  |  |           disconnectedAt: lastDataTime, | 
			
		
	
		
			
				
					|  |  |  |  |           lastTicketRaisedAt: formattedNow // <-- NEW FIELD
 | 
			
		
	
		
			
				
					|  |  |  |  |           lastTicketRaisedAt: formattedNow, | 
			
		
	
		
			
				
					|  |  |  |  |           resolved: false // <--- add resolved flag here
 | 
			
		
	
		
			
				
					|  |  |  |  |         }; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         await Support.findOneAndUpdate( | 
			
		
	
	
		
			
				
					|  |  |  | @ -3634,7 +3637,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  |         ); | 
			
		
	
		
			
				
					|  |  |  |  |       } else { | 
			
		
	
		
			
				
					|  |  |  |  |         // Update existing issue
 | 
			
		
	
		
			
				
					|  |  |  |  |         // Update existing unresolved issue only
 | 
			
		
	
		
			
				
					|  |  |  |  |         await Support.findOneAndUpdate( | 
			
		
	
		
			
				
					|  |  |  |  |           { supportId: "AWHYSU64" }, | 
			
		
	
		
			
				
					|  |  |  |  |           { | 
			
		
	
	
		
			
				
					|  |  |  | @ -3649,7 +3652,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { | 
			
		
	
		
			
				
					|  |  |  |  |           }, | 
			
		
	
		
			
				
					|  |  |  |  |           { | 
			
		
	
		
			
				
					|  |  |  |  |             arrayFilters: [ | 
			
		
	
		
			
				
					|  |  |  |  |               { "elem.hardwareId": connected_to, "elem.type": "GSM or LoRa Disconnected" } | 
			
		
	
		
			
				
					|  |  |  |  |               { "elem.hardwareId": connected_to, "elem.type": "GSM or LoRa Disconnected", "elem.resolved": false } | 
			
		
	
		
			
				
					|  |  |  |  |             ] | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  |         ); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |