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