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