Built motion from commit 85328c08.|2.5.50
[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 _0x0419=['vswitch','target','default','invalid','default\x20on\x20switch\x20not\x20found','includes','max\x20retry\x20reach','condition\x20not\x20found','exports','agi','menu','getdigits','getsecretdigits','vertices','prototype','addVertex','addEdge','edges','push','size','getVertex','traverseBFS','info','no\x20vertex\x20found','stop\x20traverse','no\x20edge/s\x20available','length','condition','split','agicommand'];(function(_0xdb1285,_0xffc500){var _0x4b2a36=function(_0x12746f){while(--_0x12746f){_0xdb1285['push'](_0xdb1285['shift']());}};_0x4b2a36(++_0xffc500);}(_0x0419,0x153));var _0x9041=function(_0xab100c,_0x9dd251){_0xab100c=_0xab100c-0x0;var _0x883ed9=_0x0419[_0xab100c];return _0x883ed9;};'use strict';var _=require('lodash');var logger=require('../../../config/logger')(_0x9041('0x0'));var verticesWithRetry=[_0x9041('0x1'),_0x9041('0x2'),_0x9041('0x3')];var Graph=function(){this[_0x9041('0x4')]={};this['edges']={};this['numberOfEdges']=0x0;};Graph[_0x9041('0x5')][_0x9041('0x6')]=function(_0xa8686b){this[_0x9041('0x4')][_0xa8686b['id']]=_0xa8686b;this['edges'][_0xa8686b['id']]=[];};Graph[_0x9041('0x5')][_0x9041('0x7')]=function(_0x5457be,_0x48ac45,_0x39296c){this[_0x9041('0x8')][_0x5457be][_0x9041('0x9')]({'target':_0x48ac45,'condition':_0x39296c});this['numberOfEdges']+=0x1;};Graph[_0x9041('0x5')]['size']=function(){return _[_0x9041('0xa')](this[_0x9041('0x4')]);};Graph[_0x9041('0x5')]['relations']=function(){return this['numberOfEdges'];};Graph[_0x9041('0x5')][_0x9041('0xb')]=function(_0x515475){return this['vertices'][_0x515475];};Graph[_0x9041('0x5')][_0x9041('0xc')]=function(_0x2874c4,_0x3eede8){if(!this[_0x9041('0x4')][_0x2874c4]){return logger[_0x9041('0xd')](_0x9041('0xe'));}var _0x23a86c=_0x3eede8(this[_0x9041('0x4')][_0x2874c4]);if(!_0x23a86c){return logger[_0x9041('0xd')](_0x9041('0xf'));}if(this['edges'][_0x2874c4]['length']===0x0){return logger['info'](_0x9041('0x10'));}for(var _0x3d2b64=0x0,_0x8dde9c=[],_0x54c323=![];_0x3d2b64<this[_0x9041('0x8')][_0x2874c4][_0x9041('0x11')];_0x3d2b64+=0x1){if(this[_0x9041('0x8')][_0x2874c4][_0x3d2b64]['condition']){_0x8dde9c=this[_0x9041('0x8')][_0x2874c4][_0x3d2b64][_0x9041('0x12')][_0x9041('0x13')](',');for(var _0x36a5c2=0x0;_0x36a5c2<_0x8dde9c[_0x9041('0x11')];_0x36a5c2+=0x1){if(this[_0x9041('0x4')][_0x2874c4][_0x9041('0x14')]===_0x9041('0x15')&&_0x8dde9c[_0x36a5c2]==='-'){_0x54c323=this['edges'][_0x2874c4][_0x3d2b64][_0x9041('0x16')];logger[_0x9041('0xd')](_0x9041('0x17'),_0x8dde9c[_0x36a5c2],this['edges'][_0x2874c4][_0x3d2b64][_0x9041('0x16')]);}else if(this[_0x9041('0x4')][_0x2874c4][_0x9041('0x14')]==='menu'&&_0x8dde9c[_0x36a5c2]==='i'){_0x54c323=this[_0x9041('0x8')][_0x2874c4][_0x3d2b64]['target'];logger[_0x9041('0xd')](_0x9041('0x18'),_0x8dde9c[_0x36a5c2],this['edges'][_0x2874c4][_0x3d2b64]['target']);}if(_0x8dde9c[_0x36a5c2]===_0x23a86c){return this[_0x9041('0xc')](this[_0x9041('0x8')][_0x2874c4][_0x3d2b64][_0x9041('0x16')],_0x3eede8);}}}else{return this[_0x9041('0xc')](this['edges'][_0x2874c4][_0x3d2b64]['target'],_0x3eede8);}}if(_0x8dde9c[_0x9041('0x11')]){if(this[_0x9041('0x4')][_0x2874c4][_0x9041('0x14')]===_0x9041('0x15')){if(_0x54c323){return this[_0x9041('0xc')](_0x54c323,_0x3eede8);}return logger['info'](_0x9041('0x19'));}else if(_[_0x9041('0x1a')](verticesWithRetry,this['vertices'][_0x2874c4][_0x9041('0x14')])){if(_0x23a86c==='-'){return logger[_0x9041('0xd')](_0x9041('0x1b'));}if(_0x54c323&&_0x23a86c!=='t'){return this[_0x9041('0xc')](_0x54c323,_0x3eede8);}return this[_0x9041('0xc')](_0x2874c4,_0x3eede8);}return logger[_0x9041('0xd')](_0x9041('0x1c'));}};module[_0x9041('0x1d')]=Graph;