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