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