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