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