b38272363f384e77368056e46d8797cf86ccef71
[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 _0x6ffc=['timeout','[WHATSAPP]\x20Sending\x20updates\x20for\x20interactions:','emit','whatsappInteraction:update','error','[WHATSAPP]\x20Error\x20closing\x20interactions','inspect','start','moment','util','../../config/environment','../../mysqldb','../logger','schedule','redis','defaults','socket.io-emitter','WhatsappInteraction','findAll','lastMsgAt','hours','then','length','map','info','[WHATSAPP]\x20Interactions\x20to\x20close:','join','update','system'];(function(_0x40f748,_0x215aa9){var _0x609610=function(_0xba85f5){while(--_0xba85f5){_0x40f748['push'](_0x40f748['shift']());}};_0x609610(++_0x215aa9);}(_0x6ffc,0x12a));var _0xc6ff=function(_0x549a39,_0x5ce739){_0x549a39=_0x549a39-0x0;var _0x311ae0=_0x6ffc[_0x549a39];return _0x311ae0;};'use strict';var _=require('lodash');var moment=require(_0xc6ff('0x0'));var Redis=require('ioredis');var util=require(_0xc6ff('0x1'));var config=require(_0xc6ff('0x2'));var db=require(_0xc6ff('0x3'))['db'];var logger=require(_0xc6ff('0x4'))(_0xc6ff('0x5'));config[_0xc6ff('0x6')]=_[_0xc6ff('0x7')](config[_0xc6ff('0x6')],{'host':'localhost','port':0x18eb});var io=require(_0xc6ff('0x8'))(new Redis(config[_0xc6ff('0x6')]));function closeInteractions(){var _0x39e9cc=[];return db[_0xc6ff('0x9')][_0xc6ff('0xa')]({'raw':!![],'attributes':['id',_0xc6ff('0xb')],'where':{'closed':![],'lastMsgDirection':'in','lastMsgAt':{'$lt':moment()['subtract'](0x18,_0xc6ff('0xc'))}}})[_0xc6ff('0xd')](function(_0xb61bf4){if(_0xb61bf4&&_0xb61bf4[_0xc6ff('0xe')]){_0x39e9cc=_[_0xc6ff('0xf')](_0xb61bf4||[],'id');logger[_0xc6ff('0x10')](_0xc6ff('0x11'),_0x39e9cc[_0xc6ff('0x12')]());return db[_0xc6ff('0x9')][_0xc6ff('0x13')]({'closeReason':_0xc6ff('0x14'),'disposition':_0xc6ff('0x15'),'closed':!![],'closedAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')},{'where':{'id':_0x39e9cc}});}})[_0xc6ff('0xd')](function(){if(_0x39e9cc&&_0x39e9cc[_0xc6ff('0xe')]){logger[_0xc6ff('0x10')](_0xc6ff('0x16'),_0x39e9cc[_0xc6ff('0x12')]());for(var _0x14eb31=0x0;_0x14eb31<_0x39e9cc['length'];_0x14eb31++){io[_0xc6ff('0x17')](_0xc6ff('0x18'),{'id':_0x39e9cc[_0x14eb31],'closed':!![]});}}})['catch'](function(_0x4ba767){logger[_0xc6ff('0x19')](_0xc6ff('0x1a'),_0x4ba767?util[_0xc6ff('0x1b')](_0x4ba767,{'showHidden':![],'depth':null}):'');});}exports[_0xc6ff('0x1c')]=function(){setInterval(function(){return closeInteractions();},0x3c*0x3e8);return closeInteractions();};