Built motion from commit (unavailable).|2.5.23
[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 _0x1f1b=['system','format','whatsappInteraction:update','catch','error','[WHATSAPP]\x20Error\x20closing\x20interactions','util','../../config/environment','../../mysqldb','schedule','redis','WhatsappInteraction','findAll','subtract','hours','then','length','info','[WHATSAPP]\x20Interactions\x20to\x20close:','join','update'];(function(_0x3f91a7,_0x274151){var _0x1961a1=function(_0x5199a6){while(--_0x5199a6){_0x3f91a7['push'](_0x3f91a7['shift']());}};_0x1961a1(++_0x274151);}(_0x1f1b,0xc3));var _0xb1f1=function(_0x42cae2,_0x284ef8){_0x42cae2=_0x42cae2-0x0;var _0x5f256f=_0x1f1b[_0x42cae2];return _0x5f256f;};'use strict';var _=require('lodash');var moment=require('moment');var Redis=require('ioredis');var util=require(_0xb1f1('0x0'));var config=require(_0xb1f1('0x1'));var db=require(_0xb1f1('0x2'))['db'];var logger=require('../logger')(_0xb1f1('0x3'));config[_0xb1f1('0x4')]=_['defaults'](config[_0xb1f1('0x4')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function closeInteractions(){var _0xa0c9ec=[];return db[_0xb1f1('0x5')][_0xb1f1('0x6')]({'raw':!![],'attributes':['id','lastMsgAt'],'where':{'closed':![],'lastMsgDirection':'in','lastMsgAt':{'$lt':moment()[_0xb1f1('0x7')](0x18,_0xb1f1('0x8'))}}})[_0xb1f1('0x9')](function(_0x11e1f8){if(_0x11e1f8&&_0x11e1f8[_0xb1f1('0xa')]){_0xa0c9ec=_['map'](_0x11e1f8||[],'id');logger[_0xb1f1('0xb')](_0xb1f1('0xc'),_0xa0c9ec[_0xb1f1('0xd')]());return db[_0xb1f1('0x5')][_0xb1f1('0xe')]({'closeReason':_0xb1f1('0xf'),'disposition':'timeout','closed':!![],'closedAt':moment()[_0xb1f1('0x10')]('YYYY-MM-DD\x20HH:mm:ss')},{'where':{'id':_0xa0c9ec}});}})['then'](function(){if(_0xa0c9ec&&_0xa0c9ec[_0xb1f1('0xa')]){logger[_0xb1f1('0xb')]('[WHATSAPP]\x20Sending\x20updates\x20for\x20interactions:',_0xa0c9ec[_0xb1f1('0xd')]());for(var _0xa76241=0x0;_0xa76241<_0xa0c9ec[_0xb1f1('0xa')];_0xa76241++){io['emit'](_0xb1f1('0x11'),{'id':_0xa0c9ec[_0xa76241],'closed':!![]});}}})[_0xb1f1('0x12')](function(_0xaef606){logger[_0xb1f1('0x13')](_0xb1f1('0x14'),_0xaef606?util['inspect'](_0xaef606,{'showHidden':![],'depth':null}):'');});}exports['start']=function(){setInterval(function(){return closeInteractions();},0x3c*0x3e8);return closeInteractions();};