41f6b6a2e3a9a2b3ab492a1b709639feadd19263
[motion2.git] / server / config / schedule / whatsapp.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x9c27=['lodash','moment','ioredis','util','../../mysqldb','../logger','schedule','redis','defaults','localhost','socket.io-emitter','findAll','lastMsgAt','subtract','then','length','map','info','[WHATSAPP]\x20Interactions\x20to\x20close:','WhatsappInteraction','update','system','format','YYYY-MM-DD\x20HH:mm:ss','[WHATSAPP]\x20Sending\x20updates\x20for\x20interactions:','join','emit','error','[WHATSAPP]\x20Error\x20closing\x20interactions','start'];(function(_0x40d449,_0x616df0){var _0x4f0ad5=function(_0x32d53b){while(--_0x32d53b){_0x40d449['push'](_0x40d449['shift']());}};_0x4f0ad5(++_0x616df0);}(_0x9c27,0x78));var _0x79c2=function(_0x4cd226,_0x489a22){_0x4cd226=_0x4cd226-0x0;var _0x19c008=_0x9c27[_0x4cd226];return _0x19c008;};'use strict';var _=require(_0x79c2('0x0'));var moment=require(_0x79c2('0x1'));var Redis=require(_0x79c2('0x2'));var util=require(_0x79c2('0x3'));var config=require('../../config/environment');var db=require(_0x79c2('0x4'))['db'];var logger=require(_0x79c2('0x5'))(_0x79c2('0x6'));config[_0x79c2('0x7')]=_[_0x79c2('0x8')](config['redis'],{'host':_0x79c2('0x9'),'port':0x18eb});var io=require(_0x79c2('0xa'))(new Redis(config['redis']));function closeInteractions(){var _0x25d69e=[];return db['WhatsappInteraction'][_0x79c2('0xb')]({'raw':!![],'attributes':['id',_0x79c2('0xc')],'where':{'closed':![],'lastMsgDirection':'in','lastMsgAt':{'$lt':moment()[_0x79c2('0xd')](0x18,'hours')}}})[_0x79c2('0xe')](function(_0xc37742){if(_0xc37742&&_0xc37742[_0x79c2('0xf')]){_0x25d69e=_[_0x79c2('0x10')](_0xc37742||[],'id');logger[_0x79c2('0x11')](_0x79c2('0x12'),_0x25d69e['join']());return db[_0x79c2('0x13')][_0x79c2('0x14')]({'closeReason':_0x79c2('0x15'),'disposition':'timeout','closed':!![],'closedAt':moment()[_0x79c2('0x16')](_0x79c2('0x17'))},{'where':{'id':_0x25d69e}});}})['then'](function(){if(_0x25d69e&&_0x25d69e[_0x79c2('0xf')]){logger[_0x79c2('0x11')](_0x79c2('0x18'),_0x25d69e[_0x79c2('0x19')]());for(var _0x44e3ed=0x0;_0x44e3ed<_0x25d69e['length'];_0x44e3ed++){io[_0x79c2('0x1a')]('whatsappInteraction:update',{'id':_0x25d69e[_0x44e3ed],'closed':!![]});}}})['catch'](function(_0x2f2b44){logger[_0x79c2('0x1b')](_0x79c2('0x1c'),_0x2f2b44?util['inspect'](_0x2f2b44,{'showHidden':![],'depth':null}):'');});}exports[_0x79c2('0x1d')]=function(){setInterval(function(){return closeInteractions();},0x3c*0x3e8);return closeInteractions();};