From e147daf7a7a1e1e02ad71d7734077f70492863be Mon Sep 17 00:00:00 2001
From: lior <diler.lior@gmail.com>
Date: Mon, 1 Aug 2022 22:47:42 +0200
Subject: [PATCH] add leaver message and call to execute quitgroup

---
 src/commandExecutor.js | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/src/commandExecutor.js b/src/commandExecutor.js
index 2c0bfaf..dfc1dd9 100644
--- a/src/commandExecutor.js
+++ b/src/commandExecutor.js
@@ -8,6 +8,7 @@
 
 const databaseManager = require("./mongoose");
 const commandHelper = require("./commandHelper");
+const postHandler = require('./postToService');
 
 /**
  *
@@ -524,6 +525,8 @@ async function ExecuteQuitGroup(data, targetGroupID, userMediaID)
             await databaseManager.changeMemberGroupTargetByUserID(userData._id, "");
         }
     })
+    data.text = "Successfully quit group " + targetGroup.groupName + ".";
+    await postHandler.postToPlatform(data);
     const userNickname = await databaseManager.findUserNicknameByUserIDInGroup(targetGroup, userDatabase._id);
     data.text = userNickname + " has left the group " + targetGroup.groupName + ".";
     data.targetGroup = targetGroupID;
@@ -560,23 +563,7 @@ async function VerifyAndExecuteQuitGroup(data, userMediaID)
         data.text = "Cannot quit a group while a session is opened. Please type !quitSession to return to the session to the group, then type !quitSession to quit the session to the group."
         return data;
     }
-    return await commandHelper.executeCommandOnGroup(serverData.text,async function(targetGroup){
-            //verify and remove each member that could be in a private session  with the user in the group.
-            const connectedUsers = await databaseManager.findConnectedMembersByGroupID(targetGroup._id);
-            connectedUsers.forEach(user => async function(){
-                const userData = await databaseManager.findUserByUserID(user._id);
-
-                if(userData.userTarget === userDatabase._id.toString())
-                {
-                    await databaseManager.changeUserStateByID(userData._id, "sendingToGroup");
-                    await databaseManager.changeMemberGroupTargetByUserID(userData._id, "");
-                }
-            })
-            const userNickname = await findUserNicknameByUserIDInGroup(targetGroup, userDatabase._id);
-            data.text = userNickname + " has left the group " + targetGroup.groupName + ".";
-
-            return data;
-        },
+    return await commandHelper.executeCommandOnGroup(data.message, ExecuteQuitGroup,
         {
             "type":"talkToGroup",
             "command":"QT",
-- 
GitLab