diff --git a/api/session-data/controllers/session-data.js b/api/session-data/controllers/session-data.js index 0b7f10b..38131b8 100644 --- a/api/session-data/controllers/session-data.js +++ b/api/session-data/controllers/session-data.js @@ -1,5 +1,6 @@ const messageModel = require("../../../model/messageModel"); const { parseMultipartData, sanitizeEntity } = require("strapi-utils"); +const refreshChat = require("../../../util/refreshChat"); /** * Read the documentation (https://strapi.io/documentation/developer-docs/latest/concepts/controllers.html#core-controllers) * to customize this controller @@ -15,11 +16,13 @@ module.exports = { messageModel.createNewClient(async function (data) { // console.log(data); + let clientInfo; if (data["STATUS"] == 1 && data["TYPE"] == "READY") { // console.log(data["DATA"]); + clientInfo = data["DATA"]; let checkExist = await strapi .query("session-data") - .findOne({ phonenumber: data["DATA"].wid.user }); + .findOne({ sessionId: clientInfo.wid._serialized }); if (checkExist) { // messageModel.loadClient(async function(data){ // let state = data.parse(data); @@ -33,31 +36,37 @@ module.exports = { await strapi.services["session-data"].update( { id }, { - name: data["DATA"].pushname, + name: clientInfo.pushname, device_manufacturer: - data["DATA"].phone.device_manufacturer, - device_model: data["DATA"].phone.device_model, - platform: data["DATA"].platform, - os_version: data["DATA"].phone.os_version, - phonenumber: data["DATA"].wid.user, - session_data: data["DATA"].sessionData, - sessionId: data["DATA"].wid._serialized, + clientInfo.phone.device_manufacturer, + device_model: clientInfo.phone.device_model, + platform: clientInfo.platform, + os_version: clientInfo.phone.os_version, + phonenumber: clientInfo.wid.user, + session_data: clientInfo.sessionData, + sessionId: clientInfo.wid._serialized, } ); } else { await strapi.services["session-data"].create({ - name: data["DATA"].pushname, + name: clientInfo.pushname, device_manufacturer: - data["DATA"].phone.device_manufacturer, - device_model: data["DATA"].phone.device_model, - platform: data["DATA"].platform, - os_version: data["DATA"].phone.os_version, - phonenumber: data["DATA"].wid.user, - session_data: data["DATA"].sessionData, - sessionId: data["DATA"].wid._serialized, + clientInfo.phone.device_manufacturer, + device_model: clientInfo.phone.device_model, + platform: clientInfo.platform, + os_version: clientInfo.phone.os_version, + phonenumber: clientInfo.wid.user, + session_data: clientInfo.sessionData, + sessionId: clientInfo.wid._serialized, }); + checkExist = await strapi + .query("session-data") + .findOne({ sessionId: clientInfo.wid._serialized }); // console.log(entry); } + // await refreshChat(data["DATA"], checkExist.id); + // await data["DATA"].destroy(); + // data["DATA"] = clientInfo; } res.write(JSON.stringify(data)); if ( diff --git a/util/refreshChat.js b/util/refreshChat.js index 446f2ec..c2b65f5 100644 --- a/util/refreshChat.js +++ b/util/refreshChat.js @@ -38,8 +38,9 @@ const refreshChat = async function (client, sessionsId) { last_sessionId: client.info.me._serialized, }); } else { + // console.log("masuk sini", chatsExist.id); let id = chatsExist.id; - await strapi.query("chats").update( + strapi.query("chats").update( { id }, { session_key: sessionsId,