Built motion from commit 9c91e9f5.|2.6.29
[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 _0xde15=['retry','maxRetry','omit','hasOwnProperty','isArray','length','source','target','addEdge','value','toJson','mxGraphModel','root','inspect','start','stringify','joinAt','format','YYYY-MM-DD\x20HH:mm:ss','mxCell','arg_1','calleridname','callerid','dnid','uniqueid','clear','vertex','gotoc\x20block\x20stop\x20traverse\x20BFS','context','extension','priority','info','response','code','result','evtHangup','isUndefined','toString','error','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','debug','[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','lodash','moment','xml2json','util','../../config/logger','agi','./rpc','./mailRpc','./graph','./vertices','catch','Unable\x20to\x20download\x20CallySquare\x20projects','stack','agicommand'];(function(_0x786e9,_0x1a029){var _0x1f891b=function(_0x31ad7c){while(--_0x31ad7c){_0x786e9['push'](_0x786e9['shift']());}};_0x1f891b(++_0x1a029);}(_0xde15,0xf2));var _0x5de1=function(_0x19ce38,_0x42d51c){_0x19ce38=_0x19ce38-0x0;var _0x56718f=_0xde15[_0x19ce38];return _0x56718f;};'use strict';var _=require(_0x5de1('0x0'));var moment=require(_0x5de1('0x1'));var parser=require(_0x5de1('0x2'));var util=require(_0x5de1('0x3'));var logger=require(_0x5de1('0x4'))(_0x5de1('0x5'));var rpc=require(_0x5de1('0x6'));var mailRpc=require(_0x5de1('0x7'));var Graph=require(_0x5de1('0x8'));var Vertices=require(_0x5de1('0x9'));var AGI_CODE_SUCCESS=0xc8;var AGI_RESULT_ERROR=-0x1;function getAll(){return rpc['getSquareProjects']()[_0x5de1('0xa')](function(_0x1cd49a){logger['error'](_0x5de1('0xb'),_0x1cd49a[_0x5de1('0xc')]);return[];});}function addVertex(_0x12115b,_0x19d97e,_0x4d9c70){_0x19d97e[_0x5de1('0xd')]=_0x4d9c70;if(_0x19d97e['hasOwnProperty'](_0x5de1('0xe'))){_0x19d97e[_0x5de1('0xf')]=parseInt(_0x19d97e[_0x5de1('0xe')],0xa);}_0x12115b['addVertex'](_[_0x5de1('0x10')](_0x19d97e,'mxCell'));}function initGraph(_0x4b2287,_0x4e4f86){var _0x302e84=new Graph();for(var _0x481b32 in _0x4b2287){if(_0x4b2287[_0x5de1('0x11')](_0x481b32)){if(_[_0x5de1('0x12')](_0x4b2287[_0x481b32])){for(var _0x2deabc=0x0;_0x2deabc<_0x4b2287[_0x481b32][_0x5de1('0x13')];_0x2deabc+=0x1){addVertex(_0x302e84,_0x4b2287[_0x481b32][_0x2deabc],_0x481b32);}}else{addVertex(_0x302e84,_0x4b2287[_0x481b32],_0x481b32);}}}for(var _0x12130a=0x0;_0x12130a<_0x4e4f86['length'];_0x12130a+=0x1){if(_0x4e4f86[_0x12130a][_0x5de1('0x14')]&&_0x4e4f86[_0x12130a][_0x5de1('0x15')]){_0x302e84[_0x5de1('0x16')](_0x4e4f86[_0x12130a][_0x5de1('0x14')],_0x4e4f86[_0x12130a][_0x5de1('0x15')],_0x4e4f86[_0x12130a][_0x5de1('0x17')]);}}return _0x302e84;}function getRoot(_0x56b4da){return parser[_0x5de1('0x18')](_0x56b4da,{'object':!![]})[_0x5de1('0x19')][_0x5de1('0x1a')];}function inspect(_0x50b732){return util[_0x5de1('0x1b')](_0x50b732,{'showHidden':![],'depth':null});}function initialize(_0x53ee11,_0x199816){var _0x509a8d=getRoot(_0x53ee11['production']);if(!_0x509a8d||!_0x509a8d[_0x5de1('0x1c')])return;var _0x5d594f,_0x1df8f1,_0x41df44;logger['debug']('root',JSON[_0x5de1('0x1d')](_0x509a8d,null,0x2));_0x199816[_0x5de1('0x1e')]=moment()[_0x5de1('0x1f')](_0x5de1('0x20'));_0x5d594f=initGraph(_['omit'](_0x509a8d,_0x5de1('0x21')),_0x509a8d[_0x5de1('0x21')]);_0x1df8f1=new Vertices(_0x199816,rpc,mailRpc);logger['info'](util[_0x5de1('0x1f')]('[START\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x199816[_0x5de1('0x22')],_0x199816[_0x5de1('0x23')],_0x199816[_0x5de1('0x24')],_0x199816[_0x5de1('0x25')],_0x199816[_0x5de1('0x26')]));_0x5d594f['traverseBFS'](_0x509a8d[_0x5de1('0x1c')]['id'],function(_0x49a0c0){try{_0x49a0c0=_0x1df8f1[_0x5de1('0x27')](_0x49a0c0);logger['debug'](_0x5de1('0x28'),JSON['stringify'](_0x49a0c0,null,0x2));if(_0x49a0c0[_0x5de1('0xd')]==='gotoc'){logger['info'](_0x5de1('0x29'));_0x199816[_0x5de1('0x2a')]=_0x49a0c0[_0x5de1('0x2a')]||_0x199816['context'];_0x199816[_0x5de1('0x2b')]=_0x49a0c0[_0x5de1('0x2b')];_0x199816[_0x5de1('0x2c')]=_0x49a0c0[_0x5de1('0x2c')]?_0x49a0c0[_0x5de1('0x2c')]-0x1:0x1;return null;}else if(_0x49a0c0&&_0x1df8f1[_0x49a0c0['agicommand']]){_0x41df44=_0x1df8f1[_0x49a0c0['agicommand']](_0x49a0c0);logger[_0x5de1('0x2d')](_0x5de1('0x2e'),JSON[_0x5de1('0x1d')](_0x41df44,null,0x2));if(_0x41df44&&_0x41df44[_0x5de1('0x2f')]===AGI_CODE_SUCCESS&&_0x41df44[_0x5de1('0x30')]!==AGI_RESULT_ERROR&&!_0x199816[_0x5de1('0x31')]){logger['debug'](_0x5de1('0x2e'),inspect(_0x41df44));return _[_0x5de1('0x32')](_0x41df44[_0x5de1('0x30')])?null:_0x41df44[_0x5de1('0x30')][_0x5de1('0x33')]();}else{logger[_0x5de1('0x34')](_0x5de1('0x2e'),inspect(_0x41df44));return null;}}else{logger[_0x5de1('0x34')](_0x5de1('0x35'));return null;}}catch(_0x56a783){logger[_0x5de1('0x34')](_0x56a783[_0x5de1('0xc')]);return null;}});if(_0x509a8d[_0x5de1('0x36')]){logger[_0x5de1('0x2d')](util['format'](_0x5de1('0x37'),_0x199816[_0x5de1('0x22')],_0x199816[_0x5de1('0x23')],_0x199816['callerid'],_0x199816[_0x5de1('0x25')],_0x199816['uniqueid']));_0x5d594f[_0x5de1('0x38')](_0x509a8d[_0x5de1('0x36')]['id'],function(_0x25fad8){try{_0x25fad8=_0x1df8f1['clear'](_0x25fad8);logger[_0x5de1('0x39')](_0x5de1('0x28'),JSON[_0x5de1('0x1d')](_0x25fad8,null,0x2));if(_0x25fad8&&_0x1df8f1[_0x25fad8[_0x5de1('0xd')]]){_0x41df44=_0x1df8f1[_0x25fad8[_0x5de1('0xd')]](_0x25fad8);if(_0x41df44){logger['debug'](_0x5de1('0x2e'),inspect(_0x41df44));return _['isUndefined'](_0x41df44[_0x5de1('0x30')])?null:_0x41df44[_0x5de1('0x30')][_0x5de1('0x33')]();}else{logger[_0x5de1('0x34')](_0x5de1('0x2e'),inspect(_0x41df44));return null;}}else{logger[_0x5de1('0x34')](_0x5de1('0x35'));return null;}}catch(_0x5bef32){logger[_0x5de1('0x34')](_0x5bef32[_0x5de1('0xc')]);return null;}});}logger[_0x5de1('0x2d')](util[_0x5de1('0x1f')](_0x5de1('0x3a'),_0x199816[_0x5de1('0x22')],_0x199816[_0x5de1('0x23')],_0x199816[_0x5de1('0x24')],_0x199816[_0x5de1('0x25')],_0x199816[_0x5de1('0x26')]));logger[_0x5de1('0x2d')](util['format'](_0x5de1('0x3b'),_0x199816[_0x5de1('0x2a')],_0x199816[_0x5de1('0x2b')],parseInt(_0x199816['priority'],0xa)+0x1));_0x199816[_0x5de1('0x3c')](_0x199816[_0x5de1('0x2a')],_0x199816[_0x5de1('0x2b')],parseInt(_0x199816[_0x5de1('0x2c')],0xa)+0x1);_0x199816['close']();}function handleNotFound(_0x567361){logger[_0x5de1('0x34')](util[_0x5de1('0x1f')](_0x5de1('0x3d'),_0x567361[_0x5de1('0x22')]));_0x567361[_0x5de1('0x3c')](_0x567361[_0x5de1('0x2a')],_0x567361['extension'],parseInt(_0x567361[_0x5de1('0x2c')],0xa)+0x1);_0x567361[_0x5de1('0x3e')]();}function handleUnpublished(_0xde194){logger[_0x5de1('0x34')](util[_0x5de1('0x1f')](_0x5de1('0x3f'),_0xde194[_0x5de1('0x22')]));_0xde194['continueAt'](_0xde194[_0x5de1('0x2a')],_0xde194[_0x5de1('0x2b')],parseInt(_0xde194[_0x5de1('0x2c')],0xa)+0x1);_0xde194[_0x5de1('0x3e')]();}module['exports']={'getAll':getAll,'handleNotFound':handleNotFound,'handleUnpublished':handleUnpublished,'initialize':initialize};