Built motion from commit 67e5df37.|2.0.66
[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 _0x087b=['max\x20retry\x20reach','condition\x20not\x20found','exports','lodash','../../../config/logger','getdigits','vertices','edges','numberOfEdges','prototype','addVertex','addEdge','push','size','relations','getVertex','traverseBFS','info','no\x20vertex\x20found','stop\x20traverse','length','no\x20edge/s\x20available','condition','split','agicommand','vswitch','target','menu','invalid','default\x20on\x20switch\x20not\x20found','includes'];(function(_0x4c07e4,_0x170366){var _0x561259=function(_0x38603d){while(--_0x38603d){_0x4c07e4['push'](_0x4c07e4['shift']());}};_0x561259(++_0x170366);}(_0x087b,0x11a));var _0xb087=function(_0x4a53d,_0x58a95e){_0x4a53d=_0x4a53d-0x0;var _0x27410e=_0x087b[_0x4a53d];return _0x27410e;};'use strict';var _=require(_0xb087('0x0'));var logger=require(_0xb087('0x1'))('agi');var verticesWithRetry=['menu',_0xb087('0x2'),'getsecretdigits'];var Graph=function(){this[_0xb087('0x3')]={};this[_0xb087('0x4')]={};this[_0xb087('0x5')]=0x0;};Graph[_0xb087('0x6')][_0xb087('0x7')]=function(_0x46e106){this[_0xb087('0x3')][_0x46e106['id']]=_0x46e106;this[_0xb087('0x4')][_0x46e106['id']]=[];};Graph[_0xb087('0x6')][_0xb087('0x8')]=function(_0x3cebbf,_0x6d83fb,_0x1dbe9f){this[_0xb087('0x4')][_0x3cebbf][_0xb087('0x9')]({'target':_0x6d83fb,'condition':_0x1dbe9f});this[_0xb087('0x5')]+=0x1;};Graph[_0xb087('0x6')]['size']=function(){return _[_0xb087('0xa')](this[_0xb087('0x3')]);};Graph[_0xb087('0x6')][_0xb087('0xb')]=function(){return this[_0xb087('0x5')];};Graph[_0xb087('0x6')][_0xb087('0xc')]=function(_0x5cced1){return this[_0xb087('0x3')][_0x5cced1];};Graph[_0xb087('0x6')][_0xb087('0xd')]=function(_0x51ceaa,_0x3001e3){if(!this[_0xb087('0x3')][_0x51ceaa]){return logger[_0xb087('0xe')](_0xb087('0xf'));}var _0x11784c=_0x3001e3(this[_0xb087('0x3')][_0x51ceaa]);if(!_0x11784c){return logger[_0xb087('0xe')](_0xb087('0x10'));}if(this[_0xb087('0x4')][_0x51ceaa][_0xb087('0x11')]===0x0){return logger['info'](_0xb087('0x12'));}for(var _0x412b48=0x0,_0x597478=[],_0xcc4426=![];_0x412b48<this[_0xb087('0x4')][_0x51ceaa][_0xb087('0x11')];_0x412b48+=0x1){if(this['edges'][_0x51ceaa][_0x412b48][_0xb087('0x13')]){_0x597478=this[_0xb087('0x4')][_0x51ceaa][_0x412b48][_0xb087('0x13')][_0xb087('0x14')](',');for(var _0x4e333b=0x0;_0x4e333b<_0x597478[_0xb087('0x11')];_0x4e333b+=0x1){if(this[_0xb087('0x3')][_0x51ceaa][_0xb087('0x15')]===_0xb087('0x16')&&_0x597478[_0x4e333b]==='-'){_0xcc4426=this['edges'][_0x51ceaa][_0x412b48]['target'];logger['info']('default',_0x597478[_0x4e333b],this[_0xb087('0x4')][_0x51ceaa][_0x412b48][_0xb087('0x17')]);}else if(this[_0xb087('0x3')][_0x51ceaa][_0xb087('0x15')]===_0xb087('0x18')&&_0x597478[_0x4e333b]==='i'){_0xcc4426=this[_0xb087('0x4')][_0x51ceaa][_0x412b48][_0xb087('0x17')];logger['info'](_0xb087('0x19'),_0x597478[_0x4e333b],this[_0xb087('0x4')][_0x51ceaa][_0x412b48][_0xb087('0x17')]);}if(_0x597478[_0x4e333b]===_0x11784c){return this[_0xb087('0xd')](this[_0xb087('0x4')][_0x51ceaa][_0x412b48]['target'],_0x3001e3);}}}else{return this[_0xb087('0xd')](this[_0xb087('0x4')][_0x51ceaa][_0x412b48]['target'],_0x3001e3);}}if(_0x597478['length']){if(this['vertices'][_0x51ceaa]['agicommand']==='vswitch'){if(_0xcc4426){return this[_0xb087('0xd')](_0xcc4426,_0x3001e3);}return logger[_0xb087('0xe')](_0xb087('0x1a'));}else if(_[_0xb087('0x1b')](verticesWithRetry,this[_0xb087('0x3')][_0x51ceaa][_0xb087('0x15')])){if(_0x11784c==='-'){return logger[_0xb087('0xe')](_0xb087('0x1c'));}if(_0xcc4426&&_0x11784c!=='t'){return this[_0xb087('0xd')](_0xcc4426,_0x3001e3);}return this[_0xb087('0xd')](_0x51ceaa,_0x3001e3);}return logger[_0xb087('0xe')](_0xb087('0x1d'));}};module[_0xb087('0x1e')]=Graph;