f3f883da4e56e8310b56055b4cba3e59e9a26dce
[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 _0x7ed3=['relations','traverseBFS','no\x20vertex\x20found','info','stop\x20traverse','length','no\x20edge/s\x20available','condition','split','agicommand','vswitch','target','default','invalid','default\x20on\x20switch\x20not\x20found','includes','max\x20retry\x20reach','condition\x20not\x20found','../../../config/logger','agi','menu','getdigits','getsecretdigits','vertices','edges','numberOfEdges','prototype','addVertex','addEdge','push','size'];(function(_0x5e2e1b,_0x546d72){var _0x503b2f=function(_0x307a96){while(--_0x307a96){_0x5e2e1b['push'](_0x5e2e1b['shift']());}};_0x503b2f(++_0x546d72);}(_0x7ed3,0x129));var _0x37ed=function(_0xda6603,_0x4500d0){_0xda6603=_0xda6603-0x0;var _0x3b0ffe=_0x7ed3[_0xda6603];return _0x3b0ffe;};'use strict';var _=require('lodash');var logger=require(_0x37ed('0x0'))(_0x37ed('0x1'));var verticesWithRetry=[_0x37ed('0x2'),_0x37ed('0x3'),_0x37ed('0x4')];var Graph=function(){this[_0x37ed('0x5')]={};this[_0x37ed('0x6')]={};this[_0x37ed('0x7')]=0x0;};Graph[_0x37ed('0x8')][_0x37ed('0x9')]=function(_0x4493ad){this['vertices'][_0x4493ad['id']]=_0x4493ad;this['edges'][_0x4493ad['id']]=[];};Graph[_0x37ed('0x8')][_0x37ed('0xa')]=function(_0x1b5470,_0x2f8070,_0x5172ef){this[_0x37ed('0x6')][_0x1b5470][_0x37ed('0xb')]({'target':_0x2f8070,'condition':_0x5172ef});this[_0x37ed('0x7')]+=0x1;};Graph['prototype'][_0x37ed('0xc')]=function(){return _[_0x37ed('0xc')](this[_0x37ed('0x5')]);};Graph[_0x37ed('0x8')][_0x37ed('0xd')]=function(){return this[_0x37ed('0x7')];};Graph[_0x37ed('0x8')]['getVertex']=function(_0x4292bf){return this[_0x37ed('0x5')][_0x4292bf];};Graph['prototype'][_0x37ed('0xe')]=function(_0x2c9aac,_0x90ef13){if(!this[_0x37ed('0x5')][_0x2c9aac]){return logger['info'](_0x37ed('0xf'));}var _0x57cd81=_0x90ef13(this[_0x37ed('0x5')][_0x2c9aac]);if(!_0x57cd81){return logger[_0x37ed('0x10')](_0x37ed('0x11'));}if(this[_0x37ed('0x6')][_0x2c9aac][_0x37ed('0x12')]===0x0){return logger['info'](_0x37ed('0x13'));}for(var _0x48910d=0x0,_0x232a0e=[],_0x207951=![];_0x48910d<this['edges'][_0x2c9aac][_0x37ed('0x12')];_0x48910d+=0x1){if(this[_0x37ed('0x6')][_0x2c9aac][_0x48910d][_0x37ed('0x14')]){_0x232a0e=this[_0x37ed('0x6')][_0x2c9aac][_0x48910d][_0x37ed('0x14')][_0x37ed('0x15')](',');for(var _0x2a5314=0x0;_0x2a5314<_0x232a0e[_0x37ed('0x12')];_0x2a5314+=0x1){if(this[_0x37ed('0x5')][_0x2c9aac][_0x37ed('0x16')]===_0x37ed('0x17')&&_0x232a0e[_0x2a5314]==='-'){_0x207951=this[_0x37ed('0x6')][_0x2c9aac][_0x48910d][_0x37ed('0x18')];logger[_0x37ed('0x10')](_0x37ed('0x19'),_0x232a0e[_0x2a5314],this[_0x37ed('0x6')][_0x2c9aac][_0x48910d][_0x37ed('0x18')]);}else if(this[_0x37ed('0x5')][_0x2c9aac][_0x37ed('0x16')]==='menu'&&_0x232a0e[_0x2a5314]==='i'){_0x207951=this[_0x37ed('0x6')][_0x2c9aac][_0x48910d]['target'];logger[_0x37ed('0x10')](_0x37ed('0x1a'),_0x232a0e[_0x2a5314],this['edges'][_0x2c9aac][_0x48910d][_0x37ed('0x18')]);}if(_0x232a0e[_0x2a5314]===_0x57cd81){return this[_0x37ed('0xe')](this['edges'][_0x2c9aac][_0x48910d][_0x37ed('0x18')],_0x90ef13);}}}else{return this[_0x37ed('0xe')](this[_0x37ed('0x6')][_0x2c9aac][_0x48910d][_0x37ed('0x18')],_0x90ef13);}}if(_0x232a0e[_0x37ed('0x12')]){if(this[_0x37ed('0x5')][_0x2c9aac][_0x37ed('0x16')]==='vswitch'){if(_0x207951){return this[_0x37ed('0xe')](_0x207951,_0x90ef13);}return logger[_0x37ed('0x10')](_0x37ed('0x1b'));}else if(_[_0x37ed('0x1c')](verticesWithRetry,this[_0x37ed('0x5')][_0x2c9aac][_0x37ed('0x16')])){if(_0x57cd81==='-'){return logger['info'](_0x37ed('0x1d'));}if(_0x207951&&_0x57cd81!=='t'){return this[_0x37ed('0xe')](_0x207951,_0x90ef13);}return this[_0x37ed('0xe')](_0x2c9aac,_0x90ef13);}return logger[_0x37ed('0x10')](_0x37ed('0x1e'));}};module['exports']=Graph;