Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / services / routing / server / applications / 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 _0x1e18=['lodash','util','seq-queue','../../../../config/logger','routing','./strategy','number','info','format','[%s][AGENT][NAME:%s][STATUS:%s]','name','length','error','map','message','join','find','agents','timeout','createQueue','channel','rules','end','[%s][AGENT]\x20ROUTING\x20STOPPED','close','stop','[%s][AGENT]\x20ROUTING\x20END','next','[%s][AGENT]\x20agent\x20not\x20found\x20%s','[%s][QUEUE]\x20%s','validate'];(function(_0x26c4b8,_0x4e4ef7){var _0x543a20=function(_0x1a8e22){while(--_0x1a8e22){_0x26c4b8['push'](_0x26c4b8['shift']());}};_0x543a20(++_0x4e4ef7);}(_0x1e18,0x1b1));var _0x81e1=function(_0xccdde3,_0x4786bb){_0xccdde3=_0xccdde3-0x0;var _0x3e3a29=_0x1e18[_0xccdde3];return _0x3e3a29;};'use strict';var schema=require(_0x81e1('0x0'));var _=require(_0x81e1('0x1'));var util=require(_0x81e1('0x2'));var seqqueue=require(_0x81e1('0x3'));var logger=require(_0x81e1('0x4'))(_0x81e1('0x5'));var strategy=require(_0x81e1('0x6'));var queue=schema({'name':{'type':'string','required':!![],'message':'name\x20is\x20a\x20string\x20and\x20it\x20is\x20required'},'timeout':{'type':_0x81e1('0x7'),'message':'timeout\x20is\x20a\x20number'}});function writeLog(_0x22369d,_0x5e560d,_0x31eb0d){return logger[_0x81e1('0x8')](util[_0x81e1('0x9')](_0x81e1('0xa'),_0x22369d,_0x5e560d[_0x81e1('0xb')],_0x31eb0d));}function handleFindAgent(_0xc0c8f){return function(_0x3a565c){return _0x3a565c['name']['toLowerCase']()===_0xc0c8f['toLowerCase']();};}exports['consequence']=function(_0x2e0ff5,_0x4e5d86,_0x4aa4aa,_0x56358f){return function(_0x2a01dc){try{var _0x2af651={'name':_0x4e5d86[0x0],'timeout':_0x4e5d86[0x1]};var _0x44f6d1=queue[_0x81e1('0x0')](_0x2af651,{'typecast':!![]});if(_0x44f6d1[_0x81e1('0xc')]){logger[_0x81e1('0xd')]('[%s][AGENT]\x20%s',_0x2e0ff5,_[_0x81e1('0xe')](_0x44f6d1,_0x81e1('0xf'))[_0x81e1('0x10')](',\x20'));_0x2a01dc['stop']();}else{var _0x11fe02=_[_0x81e1('0x11')](_0x4aa4aa[_0x81e1('0x12')],handleFindAgent(_0x2af651[_0x81e1('0xb')]));if(_0x11fe02){var _0x88f5de=(_0x2af651[_0x81e1('0x13')]||0xa)*0x3e8;var _0x391eea,_0x3c1a53;var _0x5b7c69=seqqueue[_0x81e1('0x14')](_0x88f5de);_0x5b7c69['id']=_0x2e0ff5;_0x5b7c69['atimeout']=_0x88f5de;_0x5b7c69[_0x81e1('0x15')]=_0x56358f[_0x81e1('0x15')];writeLog(_0x2e0ff5,_0x11fe02,util['format']('START:%s',_0x88f5de));_0x4aa4aa[_0x81e1('0x16')][_0x2e0ff5]['on'](_0x81e1('0x17'),function(){logger['info'](_0x81e1('0x18'),_0x2e0ff5);clearTimeout(_0x3c1a53);_0x3c1a53=undefined;_0x5b7c69[_0x81e1('0x19')]();if(_0x4aa4aa[_0x81e1('0x16')][_0x2e0ff5]){delete _0x4aa4aa[_0x81e1('0x16')][_0x2e0ff5];}_0x2a01dc[_0x81e1('0x1a')]();});_0x4aa4aa['rules'][_0x2e0ff5]['on']('complete',function(){if(_0x4aa4aa[_0x81e1('0x16')][_0x2e0ff5]){delete _0x4aa4aa[_0x81e1('0x16')][_0x2e0ff5];}});_0x3c1a53=setTimeout(function(){logger['info'](_0x81e1('0x1b'),_0x2e0ff5);clearTimeout(_0x3c1a53);_0x5b7c69[_0x81e1('0x19')]();_0x2a01dc[_0x81e1('0x1c')]();},_0x88f5de);strategy['agent'](_0x5b7c69,_0x11fe02,_0x4aa4aa,_0x56358f);}else{logger[_0x81e1('0xd')](_0x81e1('0x1d'),_0x2e0ff5,_0x2af651[_0x81e1('0xb')]);_0x2a01dc[_0x81e1('0x1a')]();}}}catch(_0x3322d7){console['log'](_0x3322d7);logger[_0x81e1('0xd')](_0x81e1('0x1e'),_0x2e0ff5,_0x3322d7['stack']);_0x2a01dc[_0x81e1('0x1a')]();}};};