const messageModel = require("../model/messageModel"); const moment = require("moment"); module.exports = async function (client, sessionId) { const messages = await strapi.api.message.services.message.getQueueMessage( sessionId ); for (const message of messages) { try { if (client != null) { await strapi.api.message.services.message.update( { id: message.id }, { state: "SENDING" } ); let send = await messageModel.sendMessage( client, message["chat_key"]["chatId"]._serialized, message["body"] ); if (send["STATUS"] == 1) { // console.log(send["DATA"]); await strapi.api.message.services.message.update( { id: message.id }, { state: "SENT", messageId: send["DATA"]["id"]["id"], from: send["DATA"]["from"], isForwarded: send["DATA"]["isForwarded"] == undefined ? false : send["DATA"]["isForwarded"], timestamp: moment .unix(send["DATA"]["timestamp"]) .toDate(), } ); } else { await strapi.api.message.services.message.update( { id: message.id }, { state: "ERROR", keterangan: send["DATA"], } ); } } } catch (e) { // console.log("err", e); await strapi.api.message.services.message.update( { id: message.id }, { state: "ERROR", keterangan: e.message } ); } } };