From fcb6a50752f5e479022f4eb4ec4c0e3fe1f06a6b Mon Sep 17 00:00:00 2001 From: icleitoncosta Date: Mon, 8 Aug 2022 20:25:29 -0300 Subject: [PATCH] fix: req.client.close is not a function, close #740 --- src/controller/sessionController.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/controller/sessionController.js b/src/controller/sessionController.js index 1e73ed5bd7..697fdd9fa4 100644 --- a/src/controller/sessionController.js +++ b/src/controller/sessionController.js @@ -153,16 +153,20 @@ export async function startSession(req, res) { export async function closeSession(req, res) { const session = req.session; try { - clientsArray[session] = { status: null }; - await req.client.close(); + if (clientsArray[session].status === null) { + return await res.status(200).json({ status: true, message: 'Session successfully closed' }); + } else { + clientsArray[session] = { status: null }; + await req.client.close(); - req.io.emit('whatsapp-status', false); - callWebHook(req.client, req, 'closesession', { - message: `Session: ${session} disconnected`, - connected: false, - }); + req.io.emit('whatsapp-status', false); + callWebHook(req.client, req, 'closesession', { + message: `Session: ${session} disconnected`, + connected: false, + }); - return await res.status(200).json({ status: true, message: 'Session successfully closed' }); + return await res.status(200).json({ status: true, message: 'Session successfully closed' }); + } } catch (error) { req.logger.error(error); return await res.status(500).json({ status: false, message: 'Error closing session', error });