Built motion from commit c116dc8b.|2.6.30
[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 _0x53c6=['../../config/logger','agi','./graph','getSquareProjects','catch','Unable\x20to\x20download\x20CallySquare\x20projects','stack','agicommand','hasOwnProperty','maxRetry','retry','addVertex','mxCell','length','source','target','addEdge','value','mxGraphModel','root','inspect','start','debug','stringify','joinAt','format','omit','info','[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','clear','vertex','gotoc\x20block\x20stop\x20traverse\x20BFS','context','extension','priority','response','result','evtHangup','isUndefined','toString','error','agicommand\x20not\x20found','finally','[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','Project\x20%s\x20not\x20found','close','Project\x20%s\x20not\x20published','exports','lodash','moment','xml2json','util'];(function(_0x2956d3,_0x1f0aab){var _0x2e5a67=function(_0x247cf4){while(--_0x247cf4){_0x2956d3['push'](_0x2956d3['shift']());}};_0x2e5a67(++_0x1f0aab);}(_0x53c6,0xad));var _0x653c=function(_0x13864a,_0x58f7b2){_0x13864a=_0x13864a-0x0;var _0x1fe91f=_0x53c6[_0x13864a];return _0x1fe91f;};'use strict';var _=require(_0x653c('0x0'));var moment=require(_0x653c('0x1'));var parser=require(_0x653c('0x2'));var util=require(_0x653c('0x3'));var logger=require(_0x653c('0x4'))(_0x653c('0x5'));var rpc=require('./rpc');var mailRpc=require('./mailRpc');var Graph=require(_0x653c('0x6'));var Vertices=require('./vertices');var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;function getAll(){return rpc[_0x653c('0x7')]()[_0x653c('0x8')](function(_0x44296e){logger['error'](_0x653c('0x9'),_0x44296e[_0x653c('0xa')]);return[];});}function addVertex(_0x51e74d,_0x2c9030,_0x17b328){_0x2c9030[_0x653c('0xb')]=_0x17b328;if(_0x2c9030[_0x653c('0xc')]('retry')){_0x2c9030[_0x653c('0xd')]=parseInt(_0x2c9030[_0x653c('0xe')],0xa);}_0x51e74d[_0x653c('0xf')](_['omit'](_0x2c9030,_0x653c('0x10')));}function initGraph(_0x59972c,_0x171947){var _0x5e3f42=new Graph();for(var _0x13f9a9 in _0x59972c){if(_0x59972c[_0x653c('0xc')](_0x13f9a9)){if(_['isArray'](_0x59972c[_0x13f9a9])){for(var _0x57fa96=0x0;_0x57fa96<_0x59972c[_0x13f9a9][_0x653c('0x11')];_0x57fa96+=0x1){addVertex(_0x5e3f42,_0x59972c[_0x13f9a9][_0x57fa96],_0x13f9a9);}}else{addVertex(_0x5e3f42,_0x59972c[_0x13f9a9],_0x13f9a9);}}}for(var _0x55a1ae=0x0;_0x55a1ae<_0x171947[_0x653c('0x11')];_0x55a1ae+=0x1){if(_0x171947[_0x55a1ae][_0x653c('0x12')]&&_0x171947[_0x55a1ae][_0x653c('0x13')]){_0x5e3f42[_0x653c('0x14')](_0x171947[_0x55a1ae][_0x653c('0x12')],_0x171947[_0x55a1ae][_0x653c('0x13')],_0x171947[_0x55a1ae][_0x653c('0x15')]);}}return _0x5e3f42;}function getRoot(_0x42da2e){return parser['toJson'](_0x42da2e,{'object':!![]})[_0x653c('0x16')][_0x653c('0x17')];}function inspect(_0x9761f){return util[_0x653c('0x18')](_0x9761f,{'showHidden':![],'depth':null});}function initialize(_0x585419,_0x599eb4){var _0x293c5c=getRoot(_0x585419['production']);if(!_0x293c5c||!_0x293c5c[_0x653c('0x19')])return;var _0x380ccb,_0x5e9932,_0x2cd013;logger[_0x653c('0x1a')]('root',JSON[_0x653c('0x1b')](_0x293c5c,null,0x2));_0x599eb4[_0x653c('0x1c')]=moment()[_0x653c('0x1d')]('YYYY-MM-DD\x20HH:mm:ss');_0x380ccb=initGraph(_[_0x653c('0x1e')](_0x293c5c,_0x653c('0x10')),_0x293c5c['mxCell']);_0x5e9932=new Vertices(_0x599eb4,rpc,mailRpc);logger[_0x653c('0x1f')](util[_0x653c('0x1d')](_0x653c('0x20'),_0x599eb4[_0x653c('0x21')],_0x599eb4[_0x653c('0x22')],_0x599eb4[_0x653c('0x23')],_0x599eb4[_0x653c('0x24')],_0x599eb4[_0x653c('0x25')]));_0x380ccb['traverseBFS'](_0x293c5c[_0x653c('0x19')]['id'],function(_0x5ec268){try{_0x5ec268=_0x5e9932[_0x653c('0x26')](_0x5ec268);logger[_0x653c('0x1a')](_0x653c('0x27'),JSON[_0x653c('0x1b')](_0x5ec268,null,0x2));if(_0x5ec268[_0x653c('0xb')]==='gotoc'){logger[_0x653c('0x1f')](_0x653c('0x28'));_0x599eb4['context']=_0x5ec268[_0x653c('0x29')]||_0x599eb4[_0x653c('0x29')];_0x599eb4[_0x653c('0x2a')]=_0x5ec268[_0x653c('0x2a')];_0x599eb4[_0x653c('0x2b')]=_0x5ec268[_0x653c('0x2b')]?_0x5ec268[_0x653c('0x2b')]-0x1:0x1;return null;}else if(_0x5ec268&&_0x5e9932[_0x5ec268['agicommand']]){_0x2cd013=_0x5e9932[_0x5ec268['agicommand']](_0x5ec268);logger['info'](_0x653c('0x2c'),JSON[_0x653c('0x1b')](_0x2cd013,null,0x2));if(_0x2cd013&&_0x2cd013['code']===AGI_CODE_SUCCESS&&_0x2cd013[_0x653c('0x2d')]!==AGI_RESULT_ERROR&&!_0x599eb4[_0x653c('0x2e')]){logger[_0x653c('0x1a')](_0x653c('0x2c'),inspect(_0x2cd013));return _[_0x653c('0x2f')](_0x2cd013['result'])?null:_0x2cd013[_0x653c('0x2d')][_0x653c('0x30')]();}else{logger[_0x653c('0x31')]('response',inspect(_0x2cd013));return null;}}else{logger[_0x653c('0x31')](_0x653c('0x32'));return null;}}catch(_0x23f604){logger[_0x653c('0x31')](_0x23f604[_0x653c('0xa')]);return null;}});if(_0x293c5c[_0x653c('0x33')]){logger[_0x653c('0x1f')](util['format']('[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x599eb4[_0x653c('0x21')],_0x599eb4[_0x653c('0x22')],_0x599eb4[_0x653c('0x23')],_0x599eb4['dnid'],_0x599eb4[_0x653c('0x25')]));_0x380ccb['traverseBFS'](_0x293c5c[_0x653c('0x33')]['id'],function(_0x3092bc){try{_0x3092bc=_0x5e9932[_0x653c('0x26')](_0x3092bc);logger[_0x653c('0x1a')](_0x653c('0x27'),JSON[_0x653c('0x1b')](_0x3092bc,null,0x2));if(_0x3092bc&&_0x5e9932[_0x3092bc[_0x653c('0xb')]]){_0x2cd013=_0x5e9932[_0x3092bc[_0x653c('0xb')]](_0x3092bc);if(_0x2cd013){logger[_0x653c('0x1a')]('response',inspect(_0x2cd013));return _[_0x653c('0x2f')](_0x2cd013[_0x653c('0x2d')])?null:_0x2cd013[_0x653c('0x2d')][_0x653c('0x30')]();}else{logger[_0x653c('0x31')](_0x653c('0x2c'),inspect(_0x2cd013));return null;}}else{logger[_0x653c('0x31')](_0x653c('0x32'));return null;}}catch(_0x5b3573){logger['error'](_0x5b3573[_0x653c('0xa')]);return null;}});}logger['info'](util[_0x653c('0x1d')](_0x653c('0x34'),_0x599eb4['arg_1'],_0x599eb4[_0x653c('0x22')],_0x599eb4['callerid'],_0x599eb4[_0x653c('0x24')],_0x599eb4[_0x653c('0x25')]));logger[_0x653c('0x1f')](util['format'](_0x653c('0x35'),_0x599eb4[_0x653c('0x29')],_0x599eb4[_0x653c('0x2a')],parseInt(_0x599eb4[_0x653c('0x2b')],0xa)+0x1));_0x599eb4[_0x653c('0x36')](_0x599eb4['context'],_0x599eb4[_0x653c('0x2a')],parseInt(_0x599eb4['priority'],0xa)+0x1);_0x599eb4['close']();}function handleNotFound(_0x278365){logger[_0x653c('0x31')](util[_0x653c('0x1d')](_0x653c('0x37'),_0x278365[_0x653c('0x21')]));_0x278365[_0x653c('0x36')](_0x278365[_0x653c('0x29')],_0x278365[_0x653c('0x2a')],parseInt(_0x278365['priority'],0xa)+0x1);_0x278365[_0x653c('0x38')]();}function handleUnpublished(_0x1480d4){logger['error'](util['format'](_0x653c('0x39'),_0x1480d4['arg_1']));_0x1480d4[_0x653c('0x36')](_0x1480d4['context'],_0x1480d4[_0x653c('0x2a')],parseInt(_0x1480d4['priority'],0xa)+0x1);_0x1480d4[_0x653c('0x38')]();}module[_0x653c('0x3a')]={'getAll':getAll,'handleNotFound':handleNotFound,'handleUnpublished':handleUnpublished,'initialize':initialize};