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