Built motion from commit (unavailable).|2.5.3
[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 _0x000b=['whatsapp:queue:%s','emit','exports','lodash','md5','util','ioredis','redis','name','timeout','strategy','beepall','Agents','mapAgentsId','waiting','updateRouting','updateRealtime','_rr','map','prototype','loggedIn','paused','length','whatsappPause','available','format'];(function(_0x48f038,_0x2bde84){var _0x2edc62=function(_0x1e6cc8){while(--_0x1e6cc8){_0x48f038['push'](_0x48f038['shift']());}};_0x2edc62(++_0x2bde84);}(_0x000b,0x1d7));var _0xb000=function(_0x158a58,_0x28e8e7){_0x158a58=_0x158a58-0x0;var _0x4935d9=_0x000b[_0x158a58];return _0x4935d9;};'use strict';var _=require(_0xb000('0x0'));var md5=require(_0xb000('0x1'));var util=require(_0xb000('0x2'));var Redis=require(_0xb000('0x3'));var config=require('../../../config/environment');config[_0xb000('0x4')]=_['defaults'](config[_0xb000('0x4')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function WhatsappQueue(_0x1d5af4){this['id']=_0x1d5af4['id']||0x0;this[_0xb000('0x5')]=_0x1d5af4['name']||'';this[_0xb000('0x6')]=_0x1d5af4[_0xb000('0x6')]||0xa;this[_0xb000('0x7')]=_0x1d5af4[_0xb000('0x7')]||_0xb000('0x8');this[_0xb000('0x9')]=_0x1d5af4[_0xb000('0x9')];this[_0xb000('0xa')]={};this[_0xb000('0xb')]=0x0;this[_0xb000('0x1')]='';this[_0xb000('0xc')]();this[_0xb000('0xd')]();}WhatsappQueue['prototype'][_0xb000('0xc')]=function(){var _0x38a58f=this[_0xb000('0xa')][_0xb000('0xe')];this[_0xb000('0xa')]=_[_0xb000('0xf')](this['Agents'],'id');this[_0xb000('0xa')][_0xb000('0xe')]=_0x38a58f;};WhatsappQueue[_0xb000('0x10')]['updateRealtime']=function(){this[_0xb000('0x11')]=0x0;this[_0xb000('0x12')]=0x0;for(var _0x5939a8=0x0;_0x5939a8<this['Agents'][_0xb000('0x13')];_0x5939a8+=0x1){if(this[_0xb000('0x9')][_0x5939a8]['online']){this[_0xb000('0x11')]+=0x1;}if(this['Agents'][_0x5939a8][_0xb000('0x14')]){this[_0xb000('0x12')]+=0x1;}}this['available']=this[_0xb000('0x11')]-this[_0xb000('0x12')];this['available']=this[_0xb000('0x15')]>=0x0?this[_0xb000('0x15')]:0x0;var _0x13e7f3={'id':this['id'],'available':this['available'],'loggedIn':this[_0xb000('0x11')],'name':this[_0xb000('0x5')],'paused':this[_0xb000('0x12')],'waiting':this['waiting']};var _0xb8816b=md5(JSON['stringify'](_0x13e7f3));if(this['md5']!==_0xb8816b){this['md5']=_0xb8816b;io['to'](util[_0xb000('0x16')](_0xb000('0x17'),_0x13e7f3[_0xb000('0x5')]))[_0xb000('0x18')]('whatsapp_queue:save',_0x13e7f3);}};module[_0xb000('0x19')]=WhatsappQueue;