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