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