a469e71a36dfb2acde8b45b831f445eed96c5a30
[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 _0xd039=['format','whatsapp:queue:%s','exports','lodash','util','ioredis','../../../config/environment','redis','localhost','name','timeout','strategy','Agents','mapAgentsId','md5','updateRealtime','prototype','updateRouting','_rr','map','loggedIn','length','whatsappPause','paused','available','waiting','stringify'];(function(_0x53ee03,_0x2e8f28){var _0x568df4=function(_0xa0d920){while(--_0xa0d920){_0x53ee03['push'](_0x53ee03['shift']());}};_0x568df4(++_0x2e8f28);}(_0xd039,0x6f));var _0x9d03=function(_0x3e10a6,_0x2250b7){_0x3e10a6=_0x3e10a6-0x0;var _0x2b5474=_0xd039[_0x3e10a6];return _0x2b5474;};'use strict';var _=require(_0x9d03('0x0'));var md5=require('md5');var util=require(_0x9d03('0x1'));var Redis=require(_0x9d03('0x2'));var config=require(_0x9d03('0x3'));config[_0x9d03('0x4')]=_['defaults'](config[_0x9d03('0x4')],{'host':_0x9d03('0x5'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function WhatsappQueue(_0x37ea5e){this['id']=_0x37ea5e['id']||0x0;this[_0x9d03('0x6')]=_0x37ea5e['name']||'';this[_0x9d03('0x7')]=_0x37ea5e[_0x9d03('0x7')]||0xa;this[_0x9d03('0x8')]=_0x37ea5e['strategy']||'beepall';this[_0x9d03('0x9')]=_0x37ea5e[_0x9d03('0x9')];this[_0x9d03('0xa')]={};this['waiting']=0x0;this[_0x9d03('0xb')]='';this['updateRouting']();this[_0x9d03('0xc')]();}WhatsappQueue[_0x9d03('0xd')][_0x9d03('0xe')]=function(){var _0x9f0c92=this['mapAgentsId'][_0x9d03('0xf')];this[_0x9d03('0xa')]=_[_0x9d03('0x10')](this[_0x9d03('0x9')],'id');this['mapAgentsId'][_0x9d03('0xf')]=_0x9f0c92;};WhatsappQueue[_0x9d03('0xd')][_0x9d03('0xc')]=function(){this[_0x9d03('0x11')]=0x0;this['paused']=0x0;for(var _0x11eb03=0x0;_0x11eb03<this[_0x9d03('0x9')][_0x9d03('0x12')];_0x11eb03+=0x1){if(this[_0x9d03('0x9')][_0x11eb03]['online']){this['loggedIn']+=0x1;}if(this['Agents'][_0x11eb03][_0x9d03('0x13')]){this['paused']+=0x1;}}this['available']=this[_0x9d03('0x11')]-this[_0x9d03('0x14')];this[_0x9d03('0x15')]=this[_0x9d03('0x15')]>=0x0?this[_0x9d03('0x15')]:0x0;var _0x4486a6={'id':this['id'],'available':this['available'],'loggedIn':this[_0x9d03('0x11')],'name':this[_0x9d03('0x6')],'paused':this['paused'],'waiting':this[_0x9d03('0x16')]};var _0x5cdcbb=md5(JSON[_0x9d03('0x17')](_0x4486a6));if(this['md5']!==_0x5cdcbb){this[_0x9d03('0xb')]=_0x5cdcbb;io['to'](util[_0x9d03('0x18')](_0x9d03('0x19'),_0x4486a6[_0x9d03('0x6')]))['emit']('whatsapp_queue:save',_0x4486a6);}};module[_0x9d03('0x1a')]=WhatsappQueue;