c670a73de7526f902cdfb2c123dcb618b8c9b4ab
[motion2.git] / server / services / agi / graph / index.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 _0x282b=['getdigits','edges','prototype','addVertex','vertices','push','numberOfEdges','size','relations','getVertex','traverseBFS','no\x20vertex\x20found','info','no\x20edge/s\x20available','length','condition','vswitch','target','default','agicommand','invalid','default\x20on\x20switch\x20not\x20found','includes','max\x20retry\x20reach','condition\x20not\x20found','exports','lodash','../../../config/logger','agi','menu'];(function(_0x47b58b,_0x41a189){var _0x46bebe=function(_0x22bbfa){while(--_0x22bbfa){_0x47b58b['push'](_0x47b58b['shift']());}};_0x46bebe(++_0x41a189);}(_0x282b,0xec));var _0xb282=function(_0x16083a,_0xf9636b){_0x16083a=_0x16083a-0x0;var _0xffcc71=_0x282b[_0x16083a];return _0xffcc71;};'use strict';var _=require(_0xb282('0x0'));var logger=require(_0xb282('0x1'))(_0xb282('0x2'));var verticesWithRetry=[_0xb282('0x3'),_0xb282('0x4'),'getsecretdigits'];var Graph=function(){this['vertices']={};this[_0xb282('0x5')]={};this['numberOfEdges']=0x0;};Graph[_0xb282('0x6')][_0xb282('0x7')]=function(_0x283325){this[_0xb282('0x8')][_0x283325['id']]=_0x283325;this[_0xb282('0x5')][_0x283325['id']]=[];};Graph[_0xb282('0x6')]['addEdge']=function(_0x4a0d28,_0x17fba1,_0x436eaa){this['edges'][_0x4a0d28][_0xb282('0x9')]({'target':_0x17fba1,'condition':_0x436eaa});this[_0xb282('0xa')]+=0x1;};Graph[_0xb282('0x6')][_0xb282('0xb')]=function(){return _['size'](this['vertices']);};Graph[_0xb282('0x6')][_0xb282('0xc')]=function(){return this[_0xb282('0xa')];};Graph[_0xb282('0x6')][_0xb282('0xd')]=function(_0x5f1c71){return this['vertices'][_0x5f1c71];};Graph[_0xb282('0x6')][_0xb282('0xe')]=function(_0x40d7b8,_0x9e9072){if(!this[_0xb282('0x8')][_0x40d7b8]){return logger['info'](_0xb282('0xf'));}var _0x5adf7f=_0x9e9072(this[_0xb282('0x8')][_0x40d7b8]);if(!_0x5adf7f){return logger[_0xb282('0x10')]('stop\x20traverse');}if(this['edges'][_0x40d7b8]['length']===0x0){return logger[_0xb282('0x10')](_0xb282('0x11'));}for(var _0x7c20df=0x0,_0xbb182=[],_0x438a05=![];_0x7c20df<this['edges'][_0x40d7b8][_0xb282('0x12')];_0x7c20df+=0x1){if(this[_0xb282('0x5')][_0x40d7b8][_0x7c20df][_0xb282('0x13')]){_0xbb182=this[_0xb282('0x5')][_0x40d7b8][_0x7c20df][_0xb282('0x13')]['split'](',');for(var _0x52e305=0x0;_0x52e305<_0xbb182[_0xb282('0x12')];_0x52e305+=0x1){if(this[_0xb282('0x8')][_0x40d7b8]['agicommand']===_0xb282('0x14')&&_0xbb182[_0x52e305]==='-'){_0x438a05=this[_0xb282('0x5')][_0x40d7b8][_0x7c20df][_0xb282('0x15')];logger[_0xb282('0x10')](_0xb282('0x16'),_0xbb182[_0x52e305],this['edges'][_0x40d7b8][_0x7c20df][_0xb282('0x15')]);}else if(this[_0xb282('0x8')][_0x40d7b8][_0xb282('0x17')]==='menu'&&_0xbb182[_0x52e305]==='i'){_0x438a05=this[_0xb282('0x5')][_0x40d7b8][_0x7c20df][_0xb282('0x15')];logger[_0xb282('0x10')](_0xb282('0x18'),_0xbb182[_0x52e305],this[_0xb282('0x5')][_0x40d7b8][_0x7c20df]['target']);}if(_0xbb182[_0x52e305]===_0x5adf7f){return this['traverseBFS'](this[_0xb282('0x5')][_0x40d7b8][_0x7c20df][_0xb282('0x15')],_0x9e9072);}}}else{return this['traverseBFS'](this['edges'][_0x40d7b8][_0x7c20df][_0xb282('0x15')],_0x9e9072);}}if(_0xbb182[_0xb282('0x12')]){if(this[_0xb282('0x8')][_0x40d7b8][_0xb282('0x17')]===_0xb282('0x14')){if(_0x438a05){return this[_0xb282('0xe')](_0x438a05,_0x9e9072);}return logger['info'](_0xb282('0x19'));}else if(_[_0xb282('0x1a')](verticesWithRetry,this['vertices'][_0x40d7b8][_0xb282('0x17')])){if(_0x5adf7f==='-'){return logger[_0xb282('0x10')](_0xb282('0x1b'));}if(_0x438a05&&_0x5adf7f!=='t'){return this[_0xb282('0xe')](_0x438a05,_0x9e9072);}return this['traverseBFS'](_0x40d7b8,_0x9e9072);}return logger[_0xb282('0x10')](_0xb282('0x1c'));}};module[_0xb282('0x1d')]=Graph;