4b82e7070791a269b86982fb873dfc6f7cae2c71
[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 _0x7894=['vertices','prototype','addEdge','size','relations','traverseBFS','no\x20vertex\x20found','info','stop\x20traverse','length','split','agicommand','vswitch','target','default','default\x20on\x20switch\x20not\x20found','includes','max\x20retry\x20reach','condition\x20not\x20found','exports','lodash','../../../config/logger','agi','menu','getdigits','getsecretdigits','edges','numberOfEdges','addVertex'];(function(_0x43869b,_0x25c761){var _0x5a2d2a=function(_0x3bb69b){while(--_0x3bb69b){_0x43869b['push'](_0x43869b['shift']());}};_0x5a2d2a(++_0x25c761);}(_0x7894,0x170));var _0x4789=function(_0x24855b,_0x233dd0){_0x24855b=_0x24855b-0x0;var _0x21f80f=_0x7894[_0x24855b];return _0x21f80f;};'use strict';var _=require(_0x4789('0x0'));var logger=require(_0x4789('0x1'))(_0x4789('0x2'));var verticesWithRetry=[_0x4789('0x3'),_0x4789('0x4'),_0x4789('0x5')];var Graph=function(){this['vertices']={};this[_0x4789('0x6')]={};this[_0x4789('0x7')]=0x0;};Graph['prototype'][_0x4789('0x8')]=function(_0x4bfe85){this[_0x4789('0x9')][_0x4bfe85['id']]=_0x4bfe85;this[_0x4789('0x6')][_0x4bfe85['id']]=[];};Graph[_0x4789('0xa')][_0x4789('0xb')]=function(_0x13b7f6,_0x5a45ae,_0x49d256){this[_0x4789('0x6')][_0x13b7f6]['push']({'target':_0x5a45ae,'condition':_0x49d256});this[_0x4789('0x7')]+=0x1;};Graph[_0x4789('0xa')][_0x4789('0xc')]=function(){return _['size'](this[_0x4789('0x9')]);};Graph['prototype'][_0x4789('0xd')]=function(){return this[_0x4789('0x7')];};Graph[_0x4789('0xa')]['getVertex']=function(_0x4db727){return this[_0x4789('0x9')][_0x4db727];};Graph['prototype'][_0x4789('0xe')]=function(_0x58743a,_0x25a4a9){if(!this[_0x4789('0x9')][_0x58743a]){return logger['info'](_0x4789('0xf'));}var _0x4e0fde=_0x25a4a9(this[_0x4789('0x9')][_0x58743a]);if(!_0x4e0fde){return logger[_0x4789('0x10')](_0x4789('0x11'));}if(this['edges'][_0x58743a][_0x4789('0x12')]===0x0){return logger[_0x4789('0x10')]('no\x20edge/s\x20available');}for(var _0x30dee9=0x0,_0x527656=[],_0x118f97=![];_0x30dee9<this[_0x4789('0x6')][_0x58743a]['length'];_0x30dee9+=0x1){if(this[_0x4789('0x6')][_0x58743a][_0x30dee9]['condition']){_0x527656=this[_0x4789('0x6')][_0x58743a][_0x30dee9]['condition'][_0x4789('0x13')](',');for(var _0x3fc0e6=0x0;_0x3fc0e6<_0x527656['length'];_0x3fc0e6+=0x1){if(this[_0x4789('0x9')][_0x58743a][_0x4789('0x14')]===_0x4789('0x15')&&_0x527656[_0x3fc0e6]==='-'){_0x118f97=this[_0x4789('0x6')][_0x58743a][_0x30dee9][_0x4789('0x16')];logger[_0x4789('0x10')](_0x4789('0x17'),_0x527656[_0x3fc0e6],this[_0x4789('0x6')][_0x58743a][_0x30dee9][_0x4789('0x16')]);}else if(this[_0x4789('0x9')][_0x58743a][_0x4789('0x14')]===_0x4789('0x3')&&_0x527656[_0x3fc0e6]==='i'){_0x118f97=this['edges'][_0x58743a][_0x30dee9][_0x4789('0x16')];logger[_0x4789('0x10')]('invalid',_0x527656[_0x3fc0e6],this[_0x4789('0x6')][_0x58743a][_0x30dee9][_0x4789('0x16')]);}if(_0x527656[_0x3fc0e6]===_0x4e0fde){return this['traverseBFS'](this[_0x4789('0x6')][_0x58743a][_0x30dee9][_0x4789('0x16')],_0x25a4a9);}}}else{return this['traverseBFS'](this[_0x4789('0x6')][_0x58743a][_0x30dee9]['target'],_0x25a4a9);}}if(_0x527656[_0x4789('0x12')]){if(this[_0x4789('0x9')][_0x58743a][_0x4789('0x14')]===_0x4789('0x15')){if(_0x118f97){return this[_0x4789('0xe')](_0x118f97,_0x25a4a9);}return logger[_0x4789('0x10')](_0x4789('0x18'));}else if(_[_0x4789('0x19')](verticesWithRetry,this[_0x4789('0x9')][_0x58743a][_0x4789('0x14')])){if(_0x4e0fde==='-'){return logger[_0x4789('0x10')](_0x4789('0x1a'));}if(_0x118f97&&_0x4e0fde!=='t'){return this[_0x4789('0xe')](_0x118f97,_0x25a4a9);}return this[_0x4789('0xe')](_0x58743a,_0x25a4a9);}return logger[_0x4789('0x10')](_0x4789('0x1b'));}};module[_0x4789('0x1c')]=Graph;