|
|
@@ -78,49 +78,72 @@ module.exports = { |
|
|
|
if (!sessionsValid) { |
|
|
|
delete clients[parseInt(i)]; |
|
|
|
} else { |
|
|
|
// const messages = await strapi.api.message.services.message.find( |
|
|
|
// { |
|
|
|
// _sort: "session_datum_key:desc", |
|
|
|
// state: "QUEUE", |
|
|
|
// session_datum_key: i, |
|
|
|
// } |
|
|
|
// ); |
|
|
|
// for (const message of messages) { |
|
|
|
// // console.log(clients[i] != null, i, clients); |
|
|
|
// try { |
|
|
|
// if (clients[i] != null) { |
|
|
|
// await strapi.api.message.services.message.update( |
|
|
|
// { id: message.id }, |
|
|
|
// { state: "SENDING" } |
|
|
|
// ); |
|
|
|
// let send = await messageModel.sendMessage( |
|
|
|
// clients[i], |
|
|
|
// message["send_to"], |
|
|
|
// message["raw_text"] |
|
|
|
// ); |
|
|
|
// // console.log(send); |
|
|
|
// if (send["STATUS"] == 1) { |
|
|
|
// await strapi.api.message.services.message.update( |
|
|
|
// { id: message.id }, |
|
|
|
// { state: "SENT" } |
|
|
|
// ); |
|
|
|
// } else { |
|
|
|
// await strapi.api.message.services.message.update( |
|
|
|
// { id: message.id }, |
|
|
|
// { |
|
|
|
// state: "ERROR", |
|
|
|
// keterangan: send["DATA"], |
|
|
|
// } |
|
|
|
// ); |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } catch (e) { |
|
|
|
// await strapi.api.message.services.message.update( |
|
|
|
// { id: message.id }, |
|
|
|
// { state: "ERROR", keterangan: e.message } |
|
|
|
// ); |
|
|
|
// } |
|
|
|
// } |
|
|
|
const messages = await strapi.api.message.services.message.find( |
|
|
|
{ |
|
|
|
_sort: "session_datum_key:desc", |
|
|
|
state: "QUEUE", |
|
|
|
session_datum_key: parseInt(i), |
|
|
|
} |
|
|
|
); |
|
|
|
// console.log(messages); |
|
|
|
for (const message of messages) { |
|
|
|
// console.log(clients[i] != null, i, clients); |
|
|
|
try { |
|
|
|
if (clients[i] != null) { |
|
|
|
await strapi.api.message.services.message.update( |
|
|
|
{ id: message.id }, |
|
|
|
{ state: "SENDING" } |
|
|
|
); |
|
|
|
let send = await messageModel.sendMessage( |
|
|
|
clients[i], |
|
|
|
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 } |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
await utils.refreshChat(clients[i], parseInt(i)); |
|
|
|
} |
|
|
|
} |
|
|
|