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