Built motion from commit 6db1674d.|2.6.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 _0xd824=['defaults','localhost','socket.io-emitter','name','online','voicePause','chatPause','faxPause','smsPause','openchannelPause','chatStatus','unknown','chatStatusTime','chatCurrentCapacity','mailStatus','mailStatusTime','mailCapacity','mailCurrentCapacity','faxStatus','faxStatusTime','faxCapacity','smsStatus','smsStatusTime','smsCapacity','smsCurrentCapacity','whatsappStatus','whatsappStatusTime','whatsappCapacity','openchannelStatus','openchannelStatusTime','openchannelCapacity','openchannelCurrentCapacity','busy','busyQueue','chatWaitingInteractions','faxWaitingInteractions','openchannelWaitingInteractions','smsWaitingInteractions','updateRealtime','prototype','getChannelStatus','CurrentCapacity','Capacity','maxcapacity','working','idle','mail','fax','sms','whatsapp','Status','StatusTime','format','mailPause','chatCapacity','whatsappCurrentCapacity','mailWaitingInteractions','whatsappWaitingInteractions','stringify','emit','omit','exports','lodash','md5','../../../config/environment','redis'];(function(_0x37c13c,_0x2ce87a){var _0x4fce21=function(_0x44410b){while(--_0x44410b){_0x37c13c['push'](_0x37c13c['shift']());}};_0x4fce21(++_0x2ce87a);}(_0xd824,0xc2));var _0x4d82=function(_0x42cae2,_0x284ef8){_0x42cae2=_0x42cae2-0x0;var _0x5f256f=_0xd824[_0x42cae2];return _0x5f256f;};'use strict';var _=require(_0x4d82('0x0'));var md5=require(_0x4d82('0x1'));var moment=require('moment');var Redis=require('ioredis');var config=require(_0x4d82('0x2'));config[_0x4d82('0x3')]=_[_0x4d82('0x4')](config[_0x4d82('0x3')],{'host':_0x4d82('0x5'),'port':0x18eb});var io=require(_0x4d82('0x6'))(new Redis(config['redis']));function Agent(_0x57850a){this['id']=_0x57850a['id']||0x0;this[_0x4d82('0x7')]=_0x57850a['name']||'';this['online']=_0x57850a[_0x4d82('0x8')]||!![];this[_0x4d82('0x9')]=_0x57850a[_0x4d82('0x9')]||![];this['chatPause']=_0x57850a[_0x4d82('0xa')]||![];this['mailPause']=_0x57850a['mailPause']||![];this[_0x4d82('0xb')]=_0x57850a[_0x4d82('0xb')]||![];this[_0x4d82('0xc')]=_0x57850a['smsPause']||![];this[_0x4d82('0xd')]=_0x57850a['openchannelPause']||![];this[_0x4d82('0xe')]=_0x4d82('0xf');this[_0x4d82('0x10')]=0x0;this['chatCapacity']=_0x57850a['chatCapacity']||0x0;this[_0x4d82('0x11')]=0x0;this[_0x4d82('0x12')]=_0x4d82('0xf');this[_0x4d82('0x13')]=0x0;this['mailCapacity']=_0x57850a[_0x4d82('0x14')]||0x0;this[_0x4d82('0x15')]=0x0;this[_0x4d82('0x16')]='unknown';this[_0x4d82('0x17')]=0x0;this['faxCapacity']=_0x57850a[_0x4d82('0x18')]||0x0;this['faxCurrentCapacity']=0x0;this[_0x4d82('0x19')]='unknown';this[_0x4d82('0x1a')]=0x0;this[_0x4d82('0x1b')]=_0x57850a[_0x4d82('0x1b')]||0x0;this[_0x4d82('0x1c')]=0x0;this[_0x4d82('0x1d')]=_0x4d82('0xf');this[_0x4d82('0x1e')]=0x0;this[_0x4d82('0x1f')]=_0x57850a[_0x4d82('0x1f')]||0x0;this['whatsappCurrentCapacity']=0x0;this[_0x4d82('0x20')]=_0x4d82('0xf');this[_0x4d82('0x21')]=0x0;this[_0x4d82('0x22')]=_0x57850a[_0x4d82('0x22')]||0x0;this[_0x4d82('0x23')]=0x0;this[_0x4d82('0x24')]=![];this[_0x4d82('0x25')]=undefined;this[_0x4d82('0x1')]='';this[_0x4d82('0x26')]={};this[_0x4d82('0x27')]={};this['mailWaitingInteractions']={};this[_0x4d82('0x28')]={};this[_0x4d82('0x29')]={};this['whatsappWaitingInteractions']={};this[_0x4d82('0x2a')]();}Agent[_0x4d82('0x2b')][_0x4d82('0x2c')]=function(_0x14a2d4){if(this[_0x14a2d4+_0x4d82('0x2d')]>0x0){if(this[_0x14a2d4+_0x4d82('0x2e')]>0x0&&this[_0x14a2d4+_0x4d82('0x2d')]>=this[_0x14a2d4+_0x4d82('0x2e')]){return _0x4d82('0x2f');}else{return _0x4d82('0x30');}}else{return _0x4d82('0x31');}};Agent[_0x4d82('0x2b')][_0x4d82('0x2a')]=function(){var _0x284c66=[_0x4d82('0x32'),'chat','openchannel',_0x4d82('0x33'),_0x4d82('0x34'),_0x4d82('0x35')];for(var _0x3348d9=0x0;_0x3348d9<_0x284c66['length'];_0x3348d9+=0x1){var _0x19d3a9=this[_0x4d82('0x2c')](_0x284c66[_0x3348d9]);if(this[_0x284c66[_0x3348d9]+_0x4d82('0x36')]!==_0x19d3a9){this[_0x284c66[_0x3348d9]+_0x4d82('0x37')]=_['toNumber'](moment()[_0x4d82('0x38')]('x'));}this[_0x284c66[_0x3348d9]+'Status']=_0x19d3a9;}var _0x4d9ac4={'id':this['id'],'name':this['name'],'online':this['online'],'voicePause':this[_0x4d82('0x9')],'chatPause':this[_0x4d82('0xa')],'mailPause':this[_0x4d82('0x39')],'smsPause':this['smsPause'],'faxPause':this[_0x4d82('0xb')],'openchannelPause':this[_0x4d82('0xd')],'chatStatus':this['chatStatus'],'chatStatusTime':this['chatStatusTime'],'chatCapacity':this[_0x4d82('0x3a')],'chatCurrentCapacity':this[_0x4d82('0x11')],'mailStatus':this[_0x4d82('0x12')],'mailStatusTime':this[_0x4d82('0x13')],'mailCapacity':this['mailCapacity'],'mailCurrentCapacity':this[_0x4d82('0x15')],'faxStatus':this['faxStatus'],'faxStatusTime':this[_0x4d82('0x17')],'faxCapacity':this[_0x4d82('0x18')],'faxCurrentCapacity':this['faxCurrentCapacity'],'smsStatus':this['smsStatus'],'smsStatusTime':this[_0x4d82('0x1a')],'smsCapacity':this[_0x4d82('0x1b')],'smsCurrentCapacity':this[_0x4d82('0x1c')],'whatsappStatus':this[_0x4d82('0x1d')],'whatsappStatusTime':this[_0x4d82('0x1e')],'whatsappCapacity':this[_0x4d82('0x1f')],'whatsappCurrentCapacity':this[_0x4d82('0x3b')],'openchannelStatus':this[_0x4d82('0x20')],'openchannelStatusTime':this[_0x4d82('0x21')],'openchannelCapacity':this[_0x4d82('0x22')],'openchannelCurrentCapacity':this['openchannelCurrentCapacity'],'busy':this[_0x4d82('0x24')],'busyQueue':this[_0x4d82('0x25')],'chatWaitingInteractions':this[_0x4d82('0x26')],'faxWaitingInteractions':this['faxWaitingInteractions'],'mailWaitingInteractions':this[_0x4d82('0x3c')],'openchannelWaitingInteractions':this[_0x4d82('0x28')],'smsWaitingInteractions':this['smsWaitingInteractions'],'whatsappWaitingInteractions':this[_0x4d82('0x3d')]};var _0x11d8c3=md5(JSON[_0x4d82('0x3e')](_0x4d9ac4));if(this['md5']!==_0x11d8c3){this[_0x4d82('0x1')]=_0x11d8c3;io[_0x4d82('0x3f')]('user:routing:update',_[_0x4d82('0x40')](_0x4d9ac4,['online']));}};module[_0x4d82('0x41')]=Agent;