Built motion from commit e02f907f.|2.6.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 _0xdf33=['user:save','exports','lodash','moment','md5','redis','socket.io-emitter','name','online','voicePause','chatPause','mailPause','faxPause','smsPause','openchannelPause','chatStatus','unknown','chatStatusTime','chatCapacity','chatCurrentCapacity','mailStatus','mailStatusTime','mailCapacity','mailCurrentCapacity','faxStatus','faxStatusTime','faxCapacity','smsStatus','smsStatusTime','smsCapacity','whatsappStatus','whatsappStatusTime','whatsappCapacity','whatsappCurrentCapacity','openchannelStatus','openchannelStatusTime','openchannelCapacity','busy','busyQueue','faxWaitingInteractions','smsWaitingInteractions','whatsappWaitingInteractions','updateRealtime','prototype','getChannelStatus','CurrentCapacity','Capacity','maxcapacity','working','idle','mail','chat','openchannel','Status','StatusTime','toNumber','format','faxCurrentCapacity','smsCurrentCapacity','chatWaitingInteractions','stringify','emit'];(function(_0x3b662b,_0x5dab5a){var _0x1c968a=function(_0x323d92){while(--_0x323d92){_0x3b662b['push'](_0x3b662b['shift']());}};_0x1c968a(++_0x5dab5a);}(_0xdf33,0xbc));var _0x3df3=function(_0x3dbae2,_0xaaebe5){_0x3dbae2=_0x3dbae2-0x0;var _0x2a4c56=_0xdf33[_0x3dbae2];return _0x2a4c56;};'use strict';var _=require(_0x3df3('0x0'));var moment=require(_0x3df3('0x1'));var md5=require(_0x3df3('0x2'));var Redis=require('ioredis');var config=require('../../../config/environment');config[_0x3df3('0x3')]=_['defaults'](config[_0x3df3('0x3')],{'host':'localhost','port':0x18eb});var io=require(_0x3df3('0x4'))(new Redis(config[_0x3df3('0x3')]));function Agent(_0x49dbb9){this['id']=_0x49dbb9['id']||0x0;this[_0x3df3('0x5')]=_0x49dbb9['name']||'';this[_0x3df3('0x6')]=_0x49dbb9[_0x3df3('0x6')]||!![];this[_0x3df3('0x7')]=_0x49dbb9[_0x3df3('0x7')]||![];this[_0x3df3('0x8')]=_0x49dbb9['chatPause']||![];this[_0x3df3('0x9')]=_0x49dbb9['mailPause']||![];this[_0x3df3('0xa')]=_0x49dbb9[_0x3df3('0xa')]||![];this[_0x3df3('0xb')]=_0x49dbb9[_0x3df3('0xb')]||![];this[_0x3df3('0xc')]=_0x49dbb9[_0x3df3('0xc')]||![];this[_0x3df3('0xd')]=_0x3df3('0xe');this[_0x3df3('0xf')]=0x0;this[_0x3df3('0x10')]=_0x49dbb9[_0x3df3('0x10')]||0x0;this[_0x3df3('0x11')]=0x0;this[_0x3df3('0x12')]=_0x3df3('0xe');this[_0x3df3('0x13')]=0x0;this['mailCapacity']=_0x49dbb9[_0x3df3('0x14')]||0x0;this[_0x3df3('0x15')]=0x0;this[_0x3df3('0x16')]=_0x3df3('0xe');this[_0x3df3('0x17')]=0x0;this[_0x3df3('0x18')]=_0x49dbb9[_0x3df3('0x18')]||0x0;this['faxCurrentCapacity']=0x0;this[_0x3df3('0x19')]=_0x3df3('0xe');this[_0x3df3('0x1a')]=0x0;this['smsCapacity']=_0x49dbb9[_0x3df3('0x1b')]||0x0;this['smsCurrentCapacity']=0x0;this[_0x3df3('0x1c')]=_0x3df3('0xe');this[_0x3df3('0x1d')]=0x0;this[_0x3df3('0x1e')]=_0x49dbb9[_0x3df3('0x1e')]||0x0;this[_0x3df3('0x1f')]=0x0;this[_0x3df3('0x20')]='unknown';this[_0x3df3('0x21')]=0x0;this['openchannelCapacity']=_0x49dbb9[_0x3df3('0x22')]||0x0;this['openchannelCurrentCapacity']=0x0;this[_0x3df3('0x23')]=![];this[_0x3df3('0x24')]=undefined;this[_0x3df3('0x2')]='';this['chatWaitingInteractions']={};this[_0x3df3('0x25')]={};this['mailWaitingInteractions']={};this['openchannelWaitingInteractions']={};this[_0x3df3('0x26')]={};this[_0x3df3('0x27')]={};this[_0x3df3('0x28')]();}Agent[_0x3df3('0x29')][_0x3df3('0x2a')]=function(_0x252672){if(this[_0x252672+_0x3df3('0x2b')]>0x0){if(this[_0x252672+_0x3df3('0x2c')]>0x0&&this[_0x252672+_0x3df3('0x2b')]>=this[_0x252672+_0x3df3('0x2c')]){return _0x3df3('0x2d');}else{return _0x3df3('0x2e');}}else{return _0x3df3('0x2f');}};Agent[_0x3df3('0x29')][_0x3df3('0x28')]=function(){var _0x713907=[_0x3df3('0x30'),_0x3df3('0x31'),_0x3df3('0x32'),'fax','sms','whatsapp'];for(var _0x3505ee=0x0;_0x3505ee<_0x713907['length'];_0x3505ee+=0x1){var _0x1b4234=this[_0x3df3('0x2a')](_0x713907[_0x3505ee]);if(this[_0x713907[_0x3505ee]+_0x3df3('0x33')]!==_0x1b4234){this[_0x713907[_0x3505ee]+_0x3df3('0x34')]=_[_0x3df3('0x35')](moment()[_0x3df3('0x36')]('x'));}this[_0x713907[_0x3505ee]+_0x3df3('0x33')]=_0x1b4234;}var _0x4ef99f={'id':this['id'],'name':this[_0x3df3('0x5')],'online':this[_0x3df3('0x6')],'voicePause':this['voicePause'],'chatPause':this[_0x3df3('0x8')],'mailPause':this[_0x3df3('0x9')],'smsPause':this[_0x3df3('0xb')],'faxPause':this[_0x3df3('0xa')],'openchannelPause':this['openchannelPause'],'chatStatus':this[_0x3df3('0xd')],'chatStatusTime':this[_0x3df3('0xf')],'chatCapacity':this[_0x3df3('0x10')],'chatCurrentCapacity':this[_0x3df3('0x11')],'mailStatus':this[_0x3df3('0x12')],'mailStatusTime':this['mailStatusTime'],'mailCapacity':this[_0x3df3('0x14')],'mailCurrentCapacity':this[_0x3df3('0x15')],'faxStatus':this['faxStatus'],'faxStatusTime':this[_0x3df3('0x17')],'faxCapacity':this[_0x3df3('0x18')],'faxCurrentCapacity':this[_0x3df3('0x37')],'smsStatus':this['smsStatus'],'smsStatusTime':this['smsStatusTime'],'smsCapacity':this[_0x3df3('0x1b')],'smsCurrentCapacity':this[_0x3df3('0x38')],'whatsappStatus':this[_0x3df3('0x1c')],'whatsappStatusTime':this[_0x3df3('0x1d')],'whatsappCapacity':this[_0x3df3('0x1e')],'whatsappCurrentCapacity':this[_0x3df3('0x1f')],'openchannelStatus':this[_0x3df3('0x20')],'openchannelStatusTime':this['openchannelStatusTime'],'openchannelCapacity':this['openchannelCapacity'],'openchannelCurrentCapacity':this['openchannelCurrentCapacity'],'busy':this[_0x3df3('0x23')],'busyQueue':this[_0x3df3('0x24')],'chatWaitingInteractions':this[_0x3df3('0x39')],'faxWaitingInteractions':this[_0x3df3('0x25')],'mailWaitingInteractions':this['mailWaitingInteractions'],'openchannelWaitingInteractions':this['openchannelWaitingInteractions'],'smsWaitingInteractions':this[_0x3df3('0x26')],'whatsappWaitingInteractions':this['whatsappWaitingInteractions']};var _0x428202=md5(JSON[_0x3df3('0x3a')](_0x4ef99f));if(this['md5']!==_0x428202){this[_0x3df3('0x2')]=_0x428202;io[_0x3df3('0x3b')](_0x3df3('0x3c'),_0x4ef99f);}};module[_0x3df3('0x3d')]=Agent;