Built motion from commit 4fa9d4a7.|2.6.31
[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 _0x3a33=['agi','./rpc','./mailRpc','./graph','./vertices','getSquareProjects','catch','error','stack','agicommand','hasOwnProperty','retry','maxRetry','addVertex','omit','mxCell','length','source','addEdge','target','value','toJson','root','start','debug','stringify','joinAt','format','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','gotoc\x20block\x20stop\x20traverse\x20BFS','context','extension','priority','response','code','result','evtHangup','isUndefined','toString','agicommand\x20not\x20found','finally','[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','traverseBFS','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','close','Project\x20%s\x20not\x20found','continueAt','Project\x20%s\x20not\x20published','exports','lodash','moment','xml2json','util','../../config/logger'];(function(_0x1bdbd7,_0x590959){var _0x20d5f4=function(_0xd3bb15){while(--_0xd3bb15){_0x1bdbd7['push'](_0x1bdbd7['shift']());}};_0x20d5f4(++_0x590959);}(_0x3a33,0x79));var _0x33a3=function(_0x5bd426,_0x4878e5){_0x5bd426=_0x5bd426-0x0;var _0x23a7eb=_0x3a33[_0x5bd426];return _0x23a7eb;};'use strict';var _=require(_0x33a3('0x0'));var moment=require(_0x33a3('0x1'));var parser=require(_0x33a3('0x2'));var util=require(_0x33a3('0x3'));var logger=require(_0x33a3('0x4'))(_0x33a3('0x5'));var rpc=require(_0x33a3('0x6'));var mailRpc=require(_0x33a3('0x7'));var Graph=require(_0x33a3('0x8'));var Vertices=require(_0x33a3('0x9'));var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;function getAll(){return rpc[_0x33a3('0xa')]()[_0x33a3('0xb')](function(_0x783998){logger[_0x33a3('0xc')]('Unable\x20to\x20download\x20CallySquare\x20projects',_0x783998[_0x33a3('0xd')]);return[];});}function addVertex(_0x554001,_0x3162c8,_0x3613ff){_0x3162c8[_0x33a3('0xe')]=_0x3613ff;if(_0x3162c8[_0x33a3('0xf')](_0x33a3('0x10'))){_0x3162c8[_0x33a3('0x11')]=parseInt(_0x3162c8[_0x33a3('0x10')],0xa);}_0x554001[_0x33a3('0x12')](_[_0x33a3('0x13')](_0x3162c8,_0x33a3('0x14')));}function initGraph(_0x3232a1,_0x1f6d03){var _0xe33aca=new Graph();for(var _0x4c1d47 in _0x3232a1){if(_0x3232a1[_0x33a3('0xf')](_0x4c1d47)){if(_['isArray'](_0x3232a1[_0x4c1d47])){for(var _0x3386f2=0x0;_0x3386f2<_0x3232a1[_0x4c1d47][_0x33a3('0x15')];_0x3386f2+=0x1){addVertex(_0xe33aca,_0x3232a1[_0x4c1d47][_0x3386f2],_0x4c1d47);}}else{addVertex(_0xe33aca,_0x3232a1[_0x4c1d47],_0x4c1d47);}}}for(var _0x38263d=0x0;_0x38263d<_0x1f6d03[_0x33a3('0x15')];_0x38263d+=0x1){if(_0x1f6d03[_0x38263d][_0x33a3('0x16')]&&_0x1f6d03[_0x38263d]['target']){_0xe33aca[_0x33a3('0x17')](_0x1f6d03[_0x38263d][_0x33a3('0x16')],_0x1f6d03[_0x38263d][_0x33a3('0x18')],_0x1f6d03[_0x38263d][_0x33a3('0x19')]);}}return _0xe33aca;}function getRoot(_0x574b60){return parser[_0x33a3('0x1a')](_0x574b60,{'object':!![]})['mxGraphModel'][_0x33a3('0x1b')];}function inspect(_0x30b101){return util['inspect'](_0x30b101,{'showHidden':![],'depth':null});}function initialize(_0x21d0e0,_0x5cc27d){var _0x2d31eb=getRoot(_0x21d0e0['production']);if(!_0x2d31eb||!_0x2d31eb[_0x33a3('0x1c')])return;var _0x228096,_0x4f73d6,_0xad7389;logger[_0x33a3('0x1d')](_0x33a3('0x1b'),JSON[_0x33a3('0x1e')](_0x2d31eb,null,0x2));_0x5cc27d[_0x33a3('0x1f')]=moment()[_0x33a3('0x20')]('YYYY-MM-DD\x20HH:mm:ss');_0x228096=initGraph(_[_0x33a3('0x13')](_0x2d31eb,_0x33a3('0x14')),_0x2d31eb[_0x33a3('0x14')]);_0x4f73d6=new Vertices(_0x5cc27d,rpc,mailRpc);logger[_0x33a3('0x21')](util[_0x33a3('0x20')](_0x33a3('0x22'),_0x5cc27d[_0x33a3('0x23')],_0x5cc27d[_0x33a3('0x24')],_0x5cc27d[_0x33a3('0x25')],_0x5cc27d[_0x33a3('0x26')],_0x5cc27d[_0x33a3('0x27')]));_0x228096['traverseBFS'](_0x2d31eb[_0x33a3('0x1c')]['id'],function(_0x425f98){try{_0x425f98=_0x4f73d6[_0x33a3('0x28')](_0x425f98);logger[_0x33a3('0x1d')](_0x33a3('0x29'),JSON[_0x33a3('0x1e')](_0x425f98,null,0x2));if(_0x425f98['agicommand']===_0x33a3('0x2a')){logger['info'](_0x33a3('0x2b'));_0x5cc27d['context']=_0x425f98['context']||_0x5cc27d[_0x33a3('0x2c')];_0x5cc27d[_0x33a3('0x2d')]=_0x425f98[_0x33a3('0x2d')];_0x5cc27d[_0x33a3('0x2e')]=_0x425f98['priority']?_0x425f98['priority']-0x1:0x1;return null;}else if(_0x425f98&&_0x4f73d6[_0x425f98[_0x33a3('0xe')]]){_0xad7389=_0x4f73d6[_0x425f98[_0x33a3('0xe')]](_0x425f98);logger['info'](_0x33a3('0x2f'),JSON[_0x33a3('0x1e')](_0xad7389,null,0x2));if(_0xad7389&&_0xad7389[_0x33a3('0x30')]===AGI_CODE_SUCCESS&&_0xad7389[_0x33a3('0x31')]!==AGI_RESULT_ERROR&&!_0x5cc27d[_0x33a3('0x32')]){logger['debug'](_0x33a3('0x2f'),inspect(_0xad7389));return _[_0x33a3('0x33')](_0xad7389[_0x33a3('0x31')])?null:_0xad7389[_0x33a3('0x31')][_0x33a3('0x34')]();}else{logger['error'](_0x33a3('0x2f'),inspect(_0xad7389));return null;}}else{logger['error'](_0x33a3('0x35'));return null;}}catch(_0x262fcb){logger[_0x33a3('0xc')](_0x262fcb[_0x33a3('0xd')]);return null;}});if(_0x2d31eb[_0x33a3('0x36')]){logger[_0x33a3('0x21')](util[_0x33a3('0x20')](_0x33a3('0x37'),_0x5cc27d[_0x33a3('0x23')],_0x5cc27d['calleridname'],_0x5cc27d[_0x33a3('0x25')],_0x5cc27d['dnid'],_0x5cc27d[_0x33a3('0x27')]));_0x228096[_0x33a3('0x38')](_0x2d31eb['finally']['id'],function(_0x2cba1d){try{_0x2cba1d=_0x4f73d6[_0x33a3('0x28')](_0x2cba1d);logger[_0x33a3('0x1d')](_0x33a3('0x29'),JSON[_0x33a3('0x1e')](_0x2cba1d,null,0x2));if(_0x2cba1d&&_0x4f73d6[_0x2cba1d[_0x33a3('0xe')]]){_0xad7389=_0x4f73d6[_0x2cba1d['agicommand']](_0x2cba1d);if(_0xad7389){logger[_0x33a3('0x1d')](_0x33a3('0x2f'),inspect(_0xad7389));return _['isUndefined'](_0xad7389[_0x33a3('0x31')])?null:_0xad7389[_0x33a3('0x31')]['toString']();}else{logger['error'](_0x33a3('0x2f'),inspect(_0xad7389));return null;}}else{logger[_0x33a3('0xc')](_0x33a3('0x35'));return null;}}catch(_0x2f1218){logger[_0x33a3('0xc')](_0x2f1218[_0x33a3('0xd')]);return null;}});}logger[_0x33a3('0x21')](util[_0x33a3('0x20')](_0x33a3('0x39'),_0x5cc27d['arg_1'],_0x5cc27d[_0x33a3('0x24')],_0x5cc27d[_0x33a3('0x25')],_0x5cc27d['dnid'],_0x5cc27d['uniqueid']));logger[_0x33a3('0x21')](util[_0x33a3('0x20')]('[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s',_0x5cc27d[_0x33a3('0x2c')],_0x5cc27d[_0x33a3('0x2d')],parseInt(_0x5cc27d['priority'],0xa)+0x1));_0x5cc27d['continueAt'](_0x5cc27d[_0x33a3('0x2c')],_0x5cc27d[_0x33a3('0x2d')],parseInt(_0x5cc27d['priority'],0xa)+0x1);_0x5cc27d[_0x33a3('0x3a')]();}function handleNotFound(_0x4c7649){logger[_0x33a3('0xc')](util['format'](_0x33a3('0x3b'),_0x4c7649[_0x33a3('0x23')]));_0x4c7649[_0x33a3('0x3c')](_0x4c7649['context'],_0x4c7649['extension'],parseInt(_0x4c7649[_0x33a3('0x2e')],0xa)+0x1);_0x4c7649[_0x33a3('0x3a')]();}function handleUnpublished(_0x2b01c0){logger[_0x33a3('0xc')](util[_0x33a3('0x20')](_0x33a3('0x3d'),_0x2b01c0['arg_1']));_0x2b01c0['continueAt'](_0x2b01c0[_0x33a3('0x2c')],_0x2b01c0[_0x33a3('0x2d')],parseInt(_0x2b01c0[_0x33a3('0x2e')],0xa)+0x1);_0x2b01c0[_0x33a3('0x3a')]();}module[_0x33a3('0x3e')]={'getAll':getAll,'handleNotFound':handleNotFound,'handleUnpublished':handleUnpublished,'initialize':initialize};