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