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