89c550141fb40122d2125100b5a353bc27accb0c
[motion2.git] / server / services / routing / model / whatsappQueue.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 _0x1dff=['stringify','format','whatsapp:queue:%s','emit','whatsapp_queue:save','exports','md5','util','ioredis','../../../config/environment','redis','defaults','name','timeout','strategy','beepall','Agents','waiting','updateRouting','updateRealtime','prototype','mapAgentsId','map','_rr','paused','length','online','loggedIn','whatsappPause','available'];(function(_0x19e206,_0x3e945d){var _0x531b21=function(_0x30ff2e){while(--_0x30ff2e){_0x19e206['push'](_0x19e206['shift']());}};_0x531b21(++_0x3e945d);}(_0x1dff,0x1e6));var _0xf1df=function(_0x59606e,_0x429521){_0x59606e=_0x59606e-0x0;var _0x19e449=_0x1dff[_0x59606e];return _0x19e449;};'use strict';var _=require('lodash');var md5=require(_0xf1df('0x0'));var util=require(_0xf1df('0x1'));var Redis=require(_0xf1df('0x2'));var config=require(_0xf1df('0x3'));config[_0xf1df('0x4')]=_[_0xf1df('0x5')](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xf1df('0x4')]));function WhatsappQueue(_0x50849e){this['id']=_0x50849e['id']||0x0;this[_0xf1df('0x6')]=_0x50849e[_0xf1df('0x6')]||'';this[_0xf1df('0x7')]=_0x50849e[_0xf1df('0x7')]||0xa;this[_0xf1df('0x8')]=_0x50849e[_0xf1df('0x8')]||_0xf1df('0x9');this[_0xf1df('0xa')]=_0x50849e[_0xf1df('0xa')];this['mapAgentsId']={};this[_0xf1df('0xb')]=0x0;this[_0xf1df('0x0')]='';this[_0xf1df('0xc')]();this[_0xf1df('0xd')]();}WhatsappQueue[_0xf1df('0xe')][_0xf1df('0xc')]=function(){var _0x4bd832=this[_0xf1df('0xf')]['_rr'];this[_0xf1df('0xf')]=_[_0xf1df('0x10')](this[_0xf1df('0xa')],'id');this['mapAgentsId'][_0xf1df('0x11')]=_0x4bd832;};WhatsappQueue[_0xf1df('0xe')]['updateRealtime']=function(){this['loggedIn']=0x0;this[_0xf1df('0x12')]=0x0;for(var _0x221234=0x0;_0x221234<this['Agents'][_0xf1df('0x13')];_0x221234+=0x1){if(this[_0xf1df('0xa')][_0x221234][_0xf1df('0x14')]){this[_0xf1df('0x15')]+=0x1;}if(this['Agents'][_0x221234][_0xf1df('0x16')]){this[_0xf1df('0x12')]+=0x1;}}this[_0xf1df('0x17')]=this[_0xf1df('0x15')]-this[_0xf1df('0x12')];this[_0xf1df('0x17')]=this[_0xf1df('0x17')]>=0x0?this[_0xf1df('0x17')]:0x0;var _0x3874fb={'id':this['id'],'available':this[_0xf1df('0x17')],'loggedIn':this[_0xf1df('0x15')],'name':this['name'],'paused':this['paused'],'waiting':this[_0xf1df('0xb')]};var _0xe8b34b=md5(JSON[_0xf1df('0x18')](_0x3874fb));if(this[_0xf1df('0x0')]!==_0xe8b34b){this[_0xf1df('0x0')]=_0xe8b34b;io['to'](util[_0xf1df('0x19')](_0xf1df('0x1a'),_0x3874fb['name']))[_0xf1df('0x1b')](_0xf1df('0x1c'),_0x3874fb);}};module[_0xf1df('0x1d')]=WhatsappQueue;