const messageModel = require("../../../model/messageModel"); const { parseMultipartData, sanitizeEntity } = require("strapi-utils"); /** * Read the documentation (https://strapi.io/documentation/developer-docs/latest/concepts/controllers.html#core-controllers) * to customize this controller */ module.exports = { initiate: async (ctx) => { ctx.respond = false; const { req, res } = ctx; res.setHeader("Content-Type", "text/html; charset=UTF-8"); res.setHeader("Transfer-Encoding", "chunked"); res.writeHead(200); messageModel.createNewClient(async function (data) { // console.log(data); if (data["STATUS"] == 1 && data["TYPE"] == "READY") { // console.log(data["DATA"]); let checkExist = await strapi .query("session-data") .findOne({ phonenumber: data["DATA"].wid.user }); if (checkExist) { // messageModel.loadClient(async function(data){ // let state = data.parse(data); // if (state["STATUS"] == 1 && state["TYPE"] == "READY"){ // let loaded = new Client(); // loaded = state["DATA"]; // await loaded.destroy(); // } // }); let id = checkExist.id; await strapi.services["session-data"].update( { id }, { name: data["DATA"].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, } ); } else { await strapi.services["session-data"].create({ name: data["DATA"].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, }); // console.log(entry); } } res.write(JSON.stringify(data)); if ( data["STATUS"] == 0 || (data["STATUS"] == 1 && data["TYPE"] == "READY") ) { return res.end(); } }); }, };