Built motion from commit (unavailable).|2.5.31
[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 _0xd139=['includes','max\x20retry\x20reach','condition\x20not\x20found','exports','lodash','../../../config/logger','getdigits','getsecretdigits','vertices','edges','numberOfEdges','prototype','addVertex','addEdge','size','relations','traverseBFS','no\x20vertex\x20found','info','stop\x20traverse','length','no\x20edge/s\x20available','condition','split','agicommand','vswitch','target','menu','invalid','default\x20on\x20switch\x20not\x20found'];(function(_0x2d518,_0x61c0e9){var _0xdc2ee7=function(_0x473acd){while(--_0x473acd){_0x2d518['push'](_0x2d518['shift']());}};_0xdc2ee7(++_0x61c0e9);}(_0xd139,0x14e));var _0x9d13=function(_0x229124,_0x98121e){_0x229124=_0x229124-0x0;var _0x14611c=_0xd139[_0x229124];return _0x14611c;};'use strict';var _=require(_0x9d13('0x0'));var logger=require(_0x9d13('0x1'))('agi');var verticesWithRetry=['menu',_0x9d13('0x2'),_0x9d13('0x3')];var Graph=function(){this[_0x9d13('0x4')]={};this[_0x9d13('0x5')]={};this[_0x9d13('0x6')]=0x0;};Graph[_0x9d13('0x7')][_0x9d13('0x8')]=function(_0x58c6f5){this[_0x9d13('0x4')][_0x58c6f5['id']]=_0x58c6f5;this[_0x9d13('0x5')][_0x58c6f5['id']]=[];};Graph['prototype'][_0x9d13('0x9')]=function(_0x4b3db0,_0x434ef6,_0x524947){this['edges'][_0x4b3db0]['push']({'target':_0x434ef6,'condition':_0x524947});this[_0x9d13('0x6')]+=0x1;};Graph[_0x9d13('0x7')][_0x9d13('0xa')]=function(){return _[_0x9d13('0xa')](this[_0x9d13('0x4')]);};Graph['prototype'][_0x9d13('0xb')]=function(){return this[_0x9d13('0x6')];};Graph[_0x9d13('0x7')]['getVertex']=function(_0x55f6d7){return this[_0x9d13('0x4')][_0x55f6d7];};Graph[_0x9d13('0x7')][_0x9d13('0xc')]=function(_0x331fea,_0x22acf6){if(!this['vertices'][_0x331fea]){return logger['info'](_0x9d13('0xd'));}var _0x43bf27=_0x22acf6(this[_0x9d13('0x4')][_0x331fea]);if(!_0x43bf27){return logger[_0x9d13('0xe')](_0x9d13('0xf'));}if(this[_0x9d13('0x5')][_0x331fea][_0x9d13('0x10')]===0x0){return logger['info'](_0x9d13('0x11'));}for(var _0x1b473e=0x0,_0x16a77b=[],_0x250234=![];_0x1b473e<this[_0x9d13('0x5')][_0x331fea][_0x9d13('0x10')];_0x1b473e+=0x1){if(this[_0x9d13('0x5')][_0x331fea][_0x1b473e][_0x9d13('0x12')]){_0x16a77b=this[_0x9d13('0x5')][_0x331fea][_0x1b473e][_0x9d13('0x12')][_0x9d13('0x13')](',');for(var _0x38acaf=0x0;_0x38acaf<_0x16a77b[_0x9d13('0x10')];_0x38acaf+=0x1){if(this['vertices'][_0x331fea][_0x9d13('0x14')]===_0x9d13('0x15')&&_0x16a77b[_0x38acaf]==='-'){_0x250234=this[_0x9d13('0x5')][_0x331fea][_0x1b473e][_0x9d13('0x16')];logger['info']('default',_0x16a77b[_0x38acaf],this['edges'][_0x331fea][_0x1b473e][_0x9d13('0x16')]);}else if(this[_0x9d13('0x4')][_0x331fea][_0x9d13('0x14')]===_0x9d13('0x17')&&_0x16a77b[_0x38acaf]==='i'){_0x250234=this[_0x9d13('0x5')][_0x331fea][_0x1b473e][_0x9d13('0x16')];logger[_0x9d13('0xe')](_0x9d13('0x18'),_0x16a77b[_0x38acaf],this['edges'][_0x331fea][_0x1b473e][_0x9d13('0x16')]);}if(_0x16a77b[_0x38acaf]===_0x43bf27){return this[_0x9d13('0xc')](this[_0x9d13('0x5')][_0x331fea][_0x1b473e][_0x9d13('0x16')],_0x22acf6);}}}else{return this['traverseBFS'](this[_0x9d13('0x5')][_0x331fea][_0x1b473e]['target'],_0x22acf6);}}if(_0x16a77b[_0x9d13('0x10')]){if(this[_0x9d13('0x4')][_0x331fea][_0x9d13('0x14')]===_0x9d13('0x15')){if(_0x250234){return this[_0x9d13('0xc')](_0x250234,_0x22acf6);}return logger[_0x9d13('0xe')](_0x9d13('0x19'));}else if(_[_0x9d13('0x1a')](verticesWithRetry,this['vertices'][_0x331fea][_0x9d13('0x14')])){if(_0x43bf27==='-'){return logger['info'](_0x9d13('0x1b'));}if(_0x250234&&_0x43bf27!=='t'){return this[_0x9d13('0xc')](_0x250234,_0x22acf6);}return this[_0x9d13('0xc')](_0x331fea,_0x22acf6);}return logger[_0x9d13('0xe')](_0x9d13('0x1c'));}};module[_0x9d13('0x1d')]=Graph;