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