Built motion from commit e1760111.|2.6.18
[motion2.git] / server / services / agi / project.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 _0xa45d=['Project\x20%s\x20not\x20found','Project\x20%s\x20not\x20published','exports','lodash','moment','util','../../config/logger','agi','./rpc','./mailRpc','./graph','getSquareProjects','catch','Unable\x20to\x20download\x20CallySquare\x20projects','stack','agicommand','hasOwnProperty','retry','addVertex','omit','isArray','length','source','target','value','toJson','mxGraphModel','root','inspect','production','start','debug','stringify','joinAt','format','YYYY-MM-DD\x20HH:mm:ss','mxCell','[START\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','arg_1','calleridname','callerid','dnid','uniqueid','traverseBFS','clear','gotoc','info','gotoc\x20block\x20stop\x20traverse\x20BFS','context','extension','priority','evtHangup','response','isUndefined','toString','error','finally','[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','vertex','result','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s','continueAt','close'];(function(_0x47b58b,_0x41a189){var _0x46bebe=function(_0x22bbfa){while(--_0x22bbfa){_0x47b58b['push'](_0x47b58b['shift']());}};_0x46bebe(++_0x41a189);}(_0xa45d,0x1c3));var _0xda45=function(_0x525d61,_0x327eef){_0x525d61=_0x525d61-0x0;var _0x534213=_0xa45d[_0x525d61];return _0x534213;};'use strict';var _=require(_0xda45('0x0'));var moment=require(_0xda45('0x1'));var parser=require('xml2json');var util=require(_0xda45('0x2'));var logger=require(_0xda45('0x3'))(_0xda45('0x4'));var rpc=require(_0xda45('0x5'));var mailRpc=require(_0xda45('0x6'));var Graph=require(_0xda45('0x7'));var Vertices=require('./vertices');var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;function getAll(){return rpc[_0xda45('0x8')]()[_0xda45('0x9')](function(_0x12a983){logger['error'](_0xda45('0xa'),_0x12a983[_0xda45('0xb')]);return[];});}function addVertex(_0x5c3a56,_0x1432f3,_0x3d3df7){_0x1432f3[_0xda45('0xc')]=_0x3d3df7;if(_0x1432f3[_0xda45('0xd')](_0xda45('0xe'))){_0x1432f3['maxRetry']=parseInt(_0x1432f3[_0xda45('0xe')],0xa);}_0x5c3a56[_0xda45('0xf')](_[_0xda45('0x10')](_0x1432f3,'mxCell'));}function initGraph(_0x5768eb,_0x5df69f){var _0x3dc734=new Graph();for(var _0x584afa in _0x5768eb){if(_0x5768eb[_0xda45('0xd')](_0x584afa)){if(_[_0xda45('0x11')](_0x5768eb[_0x584afa])){for(var _0x3f35a5=0x0;_0x3f35a5<_0x5768eb[_0x584afa][_0xda45('0x12')];_0x3f35a5+=0x1){addVertex(_0x3dc734,_0x5768eb[_0x584afa][_0x3f35a5],_0x584afa);}}else{addVertex(_0x3dc734,_0x5768eb[_0x584afa],_0x584afa);}}}for(var _0x2385c2=0x0;_0x2385c2<_0x5df69f[_0xda45('0x12')];_0x2385c2+=0x1){if(_0x5df69f[_0x2385c2][_0xda45('0x13')]&&_0x5df69f[_0x2385c2][_0xda45('0x14')]){_0x3dc734['addEdge'](_0x5df69f[_0x2385c2]['source'],_0x5df69f[_0x2385c2][_0xda45('0x14')],_0x5df69f[_0x2385c2][_0xda45('0x15')]);}}return _0x3dc734;}function getRoot(_0xeea2d3){return parser[_0xda45('0x16')](_0xeea2d3,{'object':!![]})[_0xda45('0x17')][_0xda45('0x18')];}function inspect(_0x326eda){return util[_0xda45('0x19')](_0x326eda,{'showHidden':![],'depth':null});}function initialize(_0x12c9e8,_0x7da684){var _0x1ee049=getRoot(_0x12c9e8[_0xda45('0x1a')]);if(!_0x1ee049||!_0x1ee049[_0xda45('0x1b')])return;var _0x5c9915,_0x4172bf,_0x24d578;logger[_0xda45('0x1c')]('root',JSON[_0xda45('0x1d')](_0x1ee049,null,0x2));_0x7da684[_0xda45('0x1e')]=moment()[_0xda45('0x1f')](_0xda45('0x20'));_0x5c9915=initGraph(_[_0xda45('0x10')](_0x1ee049,_0xda45('0x21')),_0x1ee049[_0xda45('0x21')]);_0x4172bf=new Vertices(_0x7da684,rpc,mailRpc);logger['info'](util['format'](_0xda45('0x22'),_0x7da684[_0xda45('0x23')],_0x7da684[_0xda45('0x24')],_0x7da684[_0xda45('0x25')],_0x7da684[_0xda45('0x26')],_0x7da684[_0xda45('0x27')]));_0x5c9915[_0xda45('0x28')](_0x1ee049[_0xda45('0x1b')]['id'],function(_0xfad6a){try{_0xfad6a=_0x4172bf[_0xda45('0x29')](_0xfad6a);logger[_0xda45('0x1c')]('vertex',JSON[_0xda45('0x1d')](_0xfad6a,null,0x2));if(_0xfad6a[_0xda45('0xc')]===_0xda45('0x2a')){logger[_0xda45('0x2b')](_0xda45('0x2c'));_0x7da684[_0xda45('0x2d')]=_0xfad6a[_0xda45('0x2d')]||_0x7da684['context'];_0x7da684[_0xda45('0x2e')]=_0xfad6a[_0xda45('0x2e')];_0x7da684[_0xda45('0x2f')]=_0xfad6a[_0xda45('0x2f')]?_0xfad6a[_0xda45('0x2f')]-0x1:0x1;return null;}else if(_0xfad6a&&_0x4172bf[_0xfad6a[_0xda45('0xc')]]){_0x24d578=_0x4172bf[_0xfad6a[_0xda45('0xc')]](_0xfad6a);logger['info']('response',JSON[_0xda45('0x1d')](_0x24d578,null,0x2));if(_0x24d578&&_0x24d578['code']===AGI_CODE_SUCCESS&&_0x24d578['result']!==AGI_RESULT_ERROR&&!_0x7da684[_0xda45('0x30')]){logger[_0xda45('0x1c')](_0xda45('0x31'),inspect(_0x24d578));return _[_0xda45('0x32')](_0x24d578['result'])?null:_0x24d578['result'][_0xda45('0x33')]();}else{logger[_0xda45('0x34')]('response',inspect(_0x24d578));return null;}}else{logger[_0xda45('0x34')]('agicommand\x20not\x20found');return null;}}catch(_0x4325ac){logger['error'](_0x4325ac[_0xda45('0xb')]);return null;}});if(_0x1ee049[_0xda45('0x35')]){logger[_0xda45('0x2b')](util[_0xda45('0x1f')](_0xda45('0x36'),_0x7da684['arg_1'],_0x7da684[_0xda45('0x24')],_0x7da684[_0xda45('0x25')],_0x7da684[_0xda45('0x26')],_0x7da684[_0xda45('0x27')]));_0x5c9915[_0xda45('0x28')](_0x1ee049[_0xda45('0x35')]['id'],function(_0x1eeb46){try{_0x1eeb46=_0x4172bf[_0xda45('0x29')](_0x1eeb46);logger[_0xda45('0x1c')](_0xda45('0x37'),JSON[_0xda45('0x1d')](_0x1eeb46,null,0x2));if(_0x1eeb46&&_0x4172bf[_0x1eeb46[_0xda45('0xc')]]){_0x24d578=_0x4172bf[_0x1eeb46[_0xda45('0xc')]](_0x1eeb46);if(_0x24d578){logger[_0xda45('0x1c')]('response',inspect(_0x24d578));return _[_0xda45('0x32')](_0x24d578[_0xda45('0x38')])?null:_0x24d578[_0xda45('0x38')]['toString']();}else{logger[_0xda45('0x34')]('response',inspect(_0x24d578));return null;}}else{logger[_0xda45('0x34')]('agicommand\x20not\x20found');return null;}}catch(_0x52a839){logger[_0xda45('0x34')](_0x52a839[_0xda45('0xb')]);return null;}});}logger['info'](util[_0xda45('0x1f')](_0xda45('0x39'),_0x7da684[_0xda45('0x23')],_0x7da684[_0xda45('0x24')],_0x7da684[_0xda45('0x25')],_0x7da684[_0xda45('0x26')],_0x7da684[_0xda45('0x27')]));logger[_0xda45('0x2b')](util[_0xda45('0x1f')](_0xda45('0x3a'),_0x7da684[_0xda45('0x2d')],_0x7da684[_0xda45('0x2e')],parseInt(_0x7da684[_0xda45('0x2f')],0xa)+0x1));_0x7da684[_0xda45('0x3b')](_0x7da684['context'],_0x7da684[_0xda45('0x2e')],parseInt(_0x7da684[_0xda45('0x2f')],0xa)+0x1);_0x7da684[_0xda45('0x3c')]();}function handleNotFound(_0x218551){logger[_0xda45('0x34')](util[_0xda45('0x1f')](_0xda45('0x3d'),_0x218551[_0xda45('0x23')]));_0x218551[_0xda45('0x3b')](_0x218551[_0xda45('0x2d')],_0x218551['extension'],parseInt(_0x218551['priority'],0xa)+0x1);_0x218551[_0xda45('0x3c')]();}function handleUnpublished(_0x49e513){logger['error'](util[_0xda45('0x1f')](_0xda45('0x3e'),_0x49e513['arg_1']));_0x49e513[_0xda45('0x3b')](_0x49e513['context'],_0x49e513[_0xda45('0x2e')],parseInt(_0x49e513['priority'],0xa)+0x1);_0x49e513['close']();}module[_0xda45('0x3f')]={'getAll':getAll,'handleNotFound':handleNotFound,'handleUnpublished':handleUnpublished,'initialize':initialize};