Built motion from commit (unavailable).|2.5.25
[motion2.git] / server / services / routing / model / agent.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 _0xe2ab=['smsStatus','smsStatusTime','smsCapacity','whatsappStatus','whatsappStatusTime','whatsappCapacity','whatsappCurrentCapacity','openchannelStatus','openchannelCapacity','openchannelCurrentCapacity','busy','prototype','getChannelStatus','CurrentCapacity','Capacity','maxcapacity','idle','updateRealtime','mail','fax','sms','whatsapp','Status','toNumber','busyQueue','emit','user:save','exports','lodash','moment','md5','ioredis','../../../config/environment','redis','localhost','socket.io-emitter','name','online','voicePause','chatPause','mailPause','faxPause','smsPause','openchannelPause','chatStatus','chatCapacity','chatCurrentCapacity','mailStatus','unknown','mailStatusTime','mailCapacity','mailCurrentCapacity','faxStatus','faxStatusTime','faxCapacity','faxCurrentCapacity'];(function(_0x87b0ff,_0x314389){var _0x3bc0b2=function(_0x41682b){while(--_0x41682b){_0x87b0ff['push'](_0x87b0ff['shift']());}};_0x3bc0b2(++_0x314389);}(_0xe2ab,0xc4));var _0xbe2a=function(_0x3c27df,_0xc6d32b){_0x3c27df=_0x3c27df-0x0;var _0x56f1f0=_0xe2ab[_0x3c27df];return _0x56f1f0;};'use strict';var _=require(_0xbe2a('0x0'));var moment=require(_0xbe2a('0x1'));var md5=require(_0xbe2a('0x2'));var Redis=require(_0xbe2a('0x3'));var config=require(_0xbe2a('0x4'));config[_0xbe2a('0x5')]=_['defaults'](config[_0xbe2a('0x5')],{'host':_0xbe2a('0x6'),'port':0x18eb});var io=require(_0xbe2a('0x7'))(new Redis(config[_0xbe2a('0x5')]));function Agent(_0x50066a){this['id']=_0x50066a['id']||0x0;this[_0xbe2a('0x8')]=_0x50066a['name']||'';this[_0xbe2a('0x9')]=_0x50066a['online']||!![];this[_0xbe2a('0xa')]=_0x50066a[_0xbe2a('0xa')]||![];this[_0xbe2a('0xb')]=_0x50066a['chatPause']||![];this['mailPause']=_0x50066a[_0xbe2a('0xc')]||![];this[_0xbe2a('0xd')]=_0x50066a['faxPause']||![];this[_0xbe2a('0xe')]=_0x50066a[_0xbe2a('0xe')]||![];this[_0xbe2a('0xf')]=_0x50066a[_0xbe2a('0xf')]||![];this[_0xbe2a('0x10')]='unknown';this['chatStatusTime']=0x0;this['chatCapacity']=_0x50066a[_0xbe2a('0x11')]||0x0;this[_0xbe2a('0x12')]=0x0;this[_0xbe2a('0x13')]=_0xbe2a('0x14');this[_0xbe2a('0x15')]=0x0;this['mailCapacity']=_0x50066a[_0xbe2a('0x16')]||0x0;this[_0xbe2a('0x17')]=0x0;this[_0xbe2a('0x18')]='unknown';this[_0xbe2a('0x19')]=0x0;this[_0xbe2a('0x1a')]=_0x50066a[_0xbe2a('0x1a')]||0x0;this[_0xbe2a('0x1b')]=0x0;this[_0xbe2a('0x1c')]=_0xbe2a('0x14');this[_0xbe2a('0x1d')]=0x0;this[_0xbe2a('0x1e')]=_0x50066a[_0xbe2a('0x1e')]||0x0;this['smsCurrentCapacity']=0x0;this[_0xbe2a('0x1f')]=_0xbe2a('0x14');this[_0xbe2a('0x20')]=0x0;this[_0xbe2a('0x21')]=_0x50066a['whatsappCapacity']||0x0;this[_0xbe2a('0x22')]=0x0;this[_0xbe2a('0x23')]='unknown';this['openchannelStatusTime']=0x0;this[_0xbe2a('0x24')]=_0x50066a['openchannelCapacity']||0x0;this[_0xbe2a('0x25')]=0x0;this[_0xbe2a('0x26')]=![];this['busyQueue']=undefined;this[_0xbe2a('0x2')]='';this['updateRealtime']();}Agent[_0xbe2a('0x27')][_0xbe2a('0x28')]=function(_0x2ab5ad){if(this[_0x2ab5ad+_0xbe2a('0x29')]>0x0){if(this[_0x2ab5ad+'Capacity']>0x0&&this[_0x2ab5ad+_0xbe2a('0x29')]>=this[_0x2ab5ad+_0xbe2a('0x2a')]){return _0xbe2a('0x2b');}else{return'working';}}else{return _0xbe2a('0x2c');}};Agent[_0xbe2a('0x27')][_0xbe2a('0x2d')]=function(){var _0x19d483=[_0xbe2a('0x2e'),'chat','openchannel',_0xbe2a('0x2f'),_0xbe2a('0x30'),_0xbe2a('0x31')];for(var _0x291d3a=0x0;_0x291d3a<_0x19d483['length'];_0x291d3a+=0x1){var _0x396809=this['getChannelStatus'](_0x19d483[_0x291d3a]);if(this[_0x19d483[_0x291d3a]+_0xbe2a('0x32')]!==_0x396809){this[_0x19d483[_0x291d3a]+'StatusTime']=_[_0xbe2a('0x33')](moment()['format']('x'));}this[_0x19d483[_0x291d3a]+_0xbe2a('0x32')]=_0x396809;}var _0x394d39={'id':this['id'],'name':this[_0xbe2a('0x8')],'online':this[_0xbe2a('0x9')],'voicePause':this[_0xbe2a('0xa')],'chatPause':this[_0xbe2a('0xb')],'mailPause':this[_0xbe2a('0xc')],'smsPause':this[_0xbe2a('0xe')],'faxPause':this[_0xbe2a('0xd')],'openchannelPause':this['openchannelPause'],'chatStatus':this[_0xbe2a('0x10')],'chatStatusTime':this['chatStatusTime'],'chatCapacity':this[_0xbe2a('0x11')],'chatCurrentCapacity':this[_0xbe2a('0x12')],'mailStatus':this[_0xbe2a('0x13')],'mailStatusTime':this[_0xbe2a('0x15')],'mailCapacity':this['mailCapacity'],'mailCurrentCapacity':this[_0xbe2a('0x17')],'faxStatus':this[_0xbe2a('0x18')],'faxStatusTime':this[_0xbe2a('0x19')],'faxCapacity':this[_0xbe2a('0x1a')],'faxCurrentCapacity':this[_0xbe2a('0x1b')],'smsStatus':this[_0xbe2a('0x1c')],'smsStatusTime':this['smsStatusTime'],'smsCapacity':this['smsCapacity'],'smsCurrentCapacity':this['smsCurrentCapacity'],'whatsappStatus':this['whatsappStatus'],'whatsappStatusTime':this[_0xbe2a('0x20')],'whatsappCapacity':this[_0xbe2a('0x21')],'whatsappCurrentCapacity':this[_0xbe2a('0x22')],'openchannelStatus':this[_0xbe2a('0x23')],'openchannelStatusTime':this['openchannelStatusTime'],'openchannelCapacity':this['openchannelCapacity'],'openchannelCurrentCapacity':this['openchannelCurrentCapacity'],'busy':this[_0xbe2a('0x26')],'busyQueue':this[_0xbe2a('0x34')]};var _0x7dd5f5=md5(JSON['stringify'](_0x394d39));if(this[_0xbe2a('0x2')]!==_0x7dd5f5){this[_0xbe2a('0x2')]=_0x7dd5f5;io[_0xbe2a('0x35')](_0xbe2a('0x36'),_0x394d39);}};module[_0xbe2a('0x37')]=Agent;