Built motion from commit 0900f080.|2.5.45
[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 _0xe59f=['lodash','moment','ioredis','util','../../mysqldb','schedule','redis','defaults','localhost','socket.io-emitter','lastMsgAt','subtract','hours','length','map','info','[WHATSAPP]\x20Interactions\x20to\x20close:','WhatsappInteraction','system','timeout','format','YYYY-MM-DD\x20HH:mm:ss','[WHATSAPP]\x20Sending\x20updates\x20for\x20interactions:','join','emit','catch','[WHATSAPP]\x20Error\x20closing\x20interactions','start'];(function(_0x36fee2,_0x16d199){var _0x4631fe=function(_0x1c2a8f){while(--_0x1c2a8f){_0x36fee2['push'](_0x36fee2['shift']());}};_0x4631fe(++_0x16d199);}(_0xe59f,0x1a4));var _0xfe59=function(_0x360580,_0x3d7848){_0x360580=_0x360580-0x0;var _0x4b9e58=_0xe59f[_0x360580];return _0x4b9e58;};'use strict';var _=require(_0xfe59('0x0'));var moment=require(_0xfe59('0x1'));var Redis=require(_0xfe59('0x2'));var util=require(_0xfe59('0x3'));var config=require('../../config/environment');var db=require(_0xfe59('0x4'))['db'];var logger=require('../logger')(_0xfe59('0x5'));config[_0xfe59('0x6')]=_[_0xfe59('0x7')](config[_0xfe59('0x6')],{'host':_0xfe59('0x8'),'port':0x18eb});var io=require(_0xfe59('0x9'))(new Redis(config[_0xfe59('0x6')]));function closeInteractions(){var _0x246034=[];return db['WhatsappInteraction']['findAll']({'raw':!![],'attributes':['id',_0xfe59('0xa')],'where':{'closed':![],'lastMsgDirection':'in','lastMsgAt':{'$lt':moment()[_0xfe59('0xb')](0x18,_0xfe59('0xc'))}}})['then'](function(_0x332c4e){if(_0x332c4e&&_0x332c4e[_0xfe59('0xd')]){_0x246034=_[_0xfe59('0xe')](_0x332c4e||[],'id');logger[_0xfe59('0xf')](_0xfe59('0x10'),_0x246034['join']());return db[_0xfe59('0x11')]['update']({'closeReason':_0xfe59('0x12'),'disposition':_0xfe59('0x13'),'closed':!![],'closedAt':moment()[_0xfe59('0x14')](_0xfe59('0x15'))},{'where':{'id':_0x246034}});}})['then'](function(){if(_0x246034&&_0x246034[_0xfe59('0xd')]){logger[_0xfe59('0xf')](_0xfe59('0x16'),_0x246034[_0xfe59('0x17')]());for(var _0x4bb508=0x0;_0x4bb508<_0x246034[_0xfe59('0xd')];_0x4bb508++){io[_0xfe59('0x18')]('whatsappInteraction:update',{'id':_0x246034[_0x4bb508],'closed':!![]});}}})[_0xfe59('0x19')](function(_0x1a19f5){logger['error'](_0xfe59('0x1a'),_0x1a19f5?util['inspect'](_0x1a19f5,{'showHidden':![],'depth':null}):'');});}exports[_0xfe59('0x1b')]=function(){setInterval(function(){return closeInteractions();},0x3c*0x3e8);return closeInteractions();};