"use strict"; /** * Read the documentation (https://strapi.io/documentation/developer-docs/latest/concepts/services.html#core-services) * to customize this service */ module.exports = { distinctbyKey: async (params) => { const results = await strapi.query("message").find(params); let arrKeys = []; results.forEach((i) => { if (!arrKeys.includes(i["session_datum_key"])) arrKeys.push(i["session_datum_key"]); }); return arrKeys; }, getQueueMessage: async (sessionId) => { var chat = await strapi.api["chats"].services["chats"].find({ session_key: sessionId, }); var arrayChat = chat.map((i) => i.id); var messageList = []; if (chat && chat.length != 0) { messageList = await strapi.api.message.services.message.find({ _sort: "chat_key:desc", state: "QUEUE", chat_key_in: arrayChat, }); } return messageList; }, };