adbdf424c269503f912ef8602cacab745fcf6196
[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 _0x1c21=['stack','agicommand','retry','maxRetry','omit','mxCell','hasOwnProperty','isArray','length','source','target','addEdge','value','toJson','mxGraphModel','root','inspect','start','debug','stringify','joinAt','format','YYYY-MM-DD\x20HH:mm:ss','[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','traverseBFS','clear','gotoc','info','context','extension','priority','code','evtHangup','response','isUndefined','result','agicommand\x20not\x20found','finally','vertex','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','uniqueid','[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s','continueAt','Project\x20%s\x20not\x20found','Project\x20%s\x20not\x20published','close','exports','lodash','moment','xml2json','util','../../config/logger','agi','./mailRpc','./graph','getSquareProjects','catch','error','Unable\x20to\x20download\x20CallySquare\x20projects'];(function(_0x3d7a76,_0x53bd03){var _0x5e5526=function(_0x2031d2){while(--_0x2031d2){_0x3d7a76['push'](_0x3d7a76['shift']());}};_0x5e5526(++_0x53bd03);}(_0x1c21,0xf0));var _0x11c2=function(_0x414e8b,_0x19210e){_0x414e8b=_0x414e8b-0x0;var _0x1c342c=_0x1c21[_0x414e8b];return _0x1c342c;};'use strict';var _=require(_0x11c2('0x0'));var moment=require(_0x11c2('0x1'));var parser=require(_0x11c2('0x2'));var util=require(_0x11c2('0x3'));var logger=require(_0x11c2('0x4'))(_0x11c2('0x5'));var rpc=require('./rpc');var mailRpc=require(_0x11c2('0x6'));var Graph=require(_0x11c2('0x7'));var Vertices=require('./vertices');var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;function getAll(){return rpc[_0x11c2('0x8')]()[_0x11c2('0x9')](function(_0x112646){logger[_0x11c2('0xa')](_0x11c2('0xb'),_0x112646[_0x11c2('0xc')]);return[];});}function addVertex(_0x3ec316,_0x1149be,_0x59ed2f){_0x1149be[_0x11c2('0xd')]=_0x59ed2f;if(_0x1149be['hasOwnProperty'](_0x11c2('0xe'))){_0x1149be[_0x11c2('0xf')]=parseInt(_0x1149be[_0x11c2('0xe')],0xa);}_0x3ec316['addVertex'](_[_0x11c2('0x10')](_0x1149be,_0x11c2('0x11')));}function initGraph(_0x24cafa,_0x67e1db){var _0x1e9c55=new Graph();for(var _0x1b59c8 in _0x24cafa){if(_0x24cafa[_0x11c2('0x12')](_0x1b59c8)){if(_[_0x11c2('0x13')](_0x24cafa[_0x1b59c8])){for(var _0x23ba1e=0x0;_0x23ba1e<_0x24cafa[_0x1b59c8][_0x11c2('0x14')];_0x23ba1e+=0x1){addVertex(_0x1e9c55,_0x24cafa[_0x1b59c8][_0x23ba1e],_0x1b59c8);}}else{addVertex(_0x1e9c55,_0x24cafa[_0x1b59c8],_0x1b59c8);}}}for(var _0x171c29=0x0;_0x171c29<_0x67e1db['length'];_0x171c29+=0x1){if(_0x67e1db[_0x171c29][_0x11c2('0x15')]&&_0x67e1db[_0x171c29][_0x11c2('0x16')]){_0x1e9c55[_0x11c2('0x17')](_0x67e1db[_0x171c29]['source'],_0x67e1db[_0x171c29][_0x11c2('0x16')],_0x67e1db[_0x171c29][_0x11c2('0x18')]);}}return _0x1e9c55;}function getRoot(_0x3b3feb){return parser[_0x11c2('0x19')](_0x3b3feb,{'object':!![]})[_0x11c2('0x1a')][_0x11c2('0x1b')];}function inspect(_0x224e7b){return util[_0x11c2('0x1c')](_0x224e7b,{'showHidden':![],'depth':null});}function initialize(_0x5946aa,_0xe28e3){var _0x2d91fb=getRoot(_0x5946aa['production']);if(!_0x2d91fb||!_0x2d91fb[_0x11c2('0x1d')])return;var _0x4c1e84,_0x360d6c,_0x18c7d6;logger[_0x11c2('0x1e')](_0x11c2('0x1b'),JSON[_0x11c2('0x1f')](_0x2d91fb,null,0x2));_0xe28e3[_0x11c2('0x20')]=moment()[_0x11c2('0x21')](_0x11c2('0x22'));_0x4c1e84=initGraph(_[_0x11c2('0x10')](_0x2d91fb,_0x11c2('0x11')),_0x2d91fb[_0x11c2('0x11')]);_0x360d6c=new Vertices(_0xe28e3,rpc,mailRpc);logger['info'](util[_0x11c2('0x21')](_0x11c2('0x23'),_0xe28e3[_0x11c2('0x24')],_0xe28e3[_0x11c2('0x25')],_0xe28e3[_0x11c2('0x26')],_0xe28e3[_0x11c2('0x27')],_0xe28e3['uniqueid']));_0x4c1e84[_0x11c2('0x28')](_0x2d91fb[_0x11c2('0x1d')]['id'],function(_0x2f6958){try{_0x2f6958=_0x360d6c[_0x11c2('0x29')](_0x2f6958);logger['debug']('vertex',JSON[_0x11c2('0x1f')](_0x2f6958,null,0x2));if(_0x2f6958[_0x11c2('0xd')]===_0x11c2('0x2a')){logger[_0x11c2('0x2b')]('gotoc\x20block\x20stop\x20traverse\x20BFS');_0xe28e3[_0x11c2('0x2c')]=_0x2f6958[_0x11c2('0x2c')]||_0xe28e3[_0x11c2('0x2c')];_0xe28e3[_0x11c2('0x2d')]=_0x2f6958[_0x11c2('0x2d')];_0xe28e3['priority']=_0x2f6958[_0x11c2('0x2e')]?_0x2f6958[_0x11c2('0x2e')]-0x1:0x1;return null;}else if(_0x2f6958&&_0x360d6c[_0x2f6958[_0x11c2('0xd')]]){_0x18c7d6=_0x360d6c[_0x2f6958[_0x11c2('0xd')]](_0x2f6958);logger[_0x11c2('0x2b')]('response',JSON['stringify'](_0x18c7d6,null,0x2));if(_0x18c7d6&&_0x18c7d6[_0x11c2('0x2f')]===AGI_CODE_SUCCESS&&_0x18c7d6['result']!==AGI_RESULT_ERROR&&!_0xe28e3[_0x11c2('0x30')]){logger[_0x11c2('0x1e')](_0x11c2('0x31'),inspect(_0x18c7d6));return _[_0x11c2('0x32')](_0x18c7d6[_0x11c2('0x33')])?null:_0x18c7d6[_0x11c2('0x33')]['toString']();}else{logger['error'](_0x11c2('0x31'),inspect(_0x18c7d6));return null;}}else{logger[_0x11c2('0xa')](_0x11c2('0x34'));return null;}}catch(_0xbcd730){logger[_0x11c2('0xa')](_0xbcd730[_0x11c2('0xc')]);return null;}});if(_0x2d91fb[_0x11c2('0x35')]){logger[_0x11c2('0x2b')](util[_0x11c2('0x21')]('[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0xe28e3['arg_1'],_0xe28e3['calleridname'],_0xe28e3[_0x11c2('0x26')],_0xe28e3[_0x11c2('0x27')],_0xe28e3['uniqueid']));_0x4c1e84[_0x11c2('0x28')](_0x2d91fb['finally']['id'],function(_0x503bc3){try{_0x503bc3=_0x360d6c[_0x11c2('0x29')](_0x503bc3);logger[_0x11c2('0x1e')](_0x11c2('0x36'),JSON[_0x11c2('0x1f')](_0x503bc3,null,0x2));if(_0x503bc3&&_0x360d6c[_0x503bc3[_0x11c2('0xd')]]){_0x18c7d6=_0x360d6c[_0x503bc3['agicommand']](_0x503bc3);if(_0x18c7d6){logger[_0x11c2('0x1e')]('response',inspect(_0x18c7d6));return _['isUndefined'](_0x18c7d6[_0x11c2('0x33')])?null:_0x18c7d6[_0x11c2('0x33')]['toString']();}else{logger[_0x11c2('0xa')]('response',inspect(_0x18c7d6));return null;}}else{logger[_0x11c2('0xa')](_0x11c2('0x34'));return null;}}catch(_0x2139e7){logger[_0x11c2('0xa')](_0x2139e7[_0x11c2('0xc')]);return null;}});}logger['info'](util[_0x11c2('0x21')](_0x11c2('0x37'),_0xe28e3['arg_1'],_0xe28e3['calleridname'],_0xe28e3['callerid'],_0xe28e3[_0x11c2('0x27')],_0xe28e3[_0x11c2('0x38')]));logger[_0x11c2('0x2b')](util[_0x11c2('0x21')](_0x11c2('0x39'),_0xe28e3[_0x11c2('0x2c')],_0xe28e3[_0x11c2('0x2d')],parseInt(_0xe28e3[_0x11c2('0x2e')],0xa)+0x1));_0xe28e3[_0x11c2('0x3a')](_0xe28e3[_0x11c2('0x2c')],_0xe28e3[_0x11c2('0x2d')],parseInt(_0xe28e3[_0x11c2('0x2e')],0xa)+0x1);_0xe28e3['close']();}function handleNotFound(_0x3e2b18){logger[_0x11c2('0xa')](util[_0x11c2('0x21')](_0x11c2('0x3b'),_0x3e2b18[_0x11c2('0x24')]));_0x3e2b18[_0x11c2('0x3a')](_0x3e2b18[_0x11c2('0x2c')],_0x3e2b18[_0x11c2('0x2d')],parseInt(_0x3e2b18[_0x11c2('0x2e')],0xa)+0x1);_0x3e2b18['close']();}function handleUnpublished(_0x588dd7){logger[_0x11c2('0xa')](util[_0x11c2('0x21')](_0x11c2('0x3c'),_0x588dd7[_0x11c2('0x24')]));_0x588dd7[_0x11c2('0x3a')](_0x588dd7[_0x11c2('0x2c')],_0x588dd7[_0x11c2('0x2d')],parseInt(_0x588dd7[_0x11c2('0x2e')],0xa)+0x1);_0x588dd7[_0x11c2('0x3d')]();}module[_0x11c2('0x3e')]={'getAll':getAll,'handleNotFound':handleNotFound,'handleUnpublished':handleUnpublished,'initialize':initialize};