Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / services / routing / server / applications / gotoif.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 _0xd0ec=['rules','[%s][GOTOIF]\x20priority\x20%s\x20found\x20at\x20index:\x20%s','next','[%s][GOTOIF]\x20priority\x20%s\x20not\x20found','[%s][GOTOIF]\x20eval\x20error:\x20%s','message','stringify','validate','html-to-text','./utils','string','condition\x20is\x20a\x20string\x20and\x20it\x20is\x20required','number','consequence','getMustacheRender','replace','length','error','[%s][GOTOIF]\x20%s','map','stop','priorityTrue','priorityFalse','info','[%s][GOTOIF]\x20condition\x20%s\x20is\x20%s\x20try\x20goto\x20priority\x20%s','condition'];(function(_0x1d8250,_0x50e43f){var _0x506941=function(_0x52b9fe){while(--_0x52b9fe){_0x1d8250['push'](_0x1d8250['shift']());}};_0x506941(++_0x50e43f);}(_0xd0ec,0x1db));var _0xcd0e=function(_0x19030c,_0x35ece0){_0x19030c=_0x19030c-0x0;var _0x1f5ffa=_0xd0ec[_0x19030c];return _0x1f5ffa;};'use strict';var schema=require(_0xcd0e('0x0'));var _=require('lodash');var htmlToText=require(_0xcd0e('0x1'));var utils=require(_0xcd0e('0x2'));var logger=require('../../../../config/logger')('routing');var gotoif=schema({'condition':{'type':_0xcd0e('0x3'),'required':!![],'message':_0xcd0e('0x4')},'priorityTrue':{'type':_0xcd0e('0x5'),'message':'priority\x20true\x20is\x20a\x20number'},'priorityFalse':{'type':_0xcd0e('0x5'),'message':'priority\x20false\x20is\x20a\x20number'}});exports[_0xcd0e('0x6')]=function(_0x142218,_0x725ae6){return function(_0x33d974){try{var _0xf27243={'condition':htmlToText['fromString'](utils[_0xcd0e('0x7')](_0x725ae6[0x0],this),{'wordwrap':![]})[_0xcd0e('0x8')](/<\/?[^>]+(>|$)/g,''),'priorityTrue':_0x725ae6[0x1],'priorityFalse':_0x725ae6[0x2]};var _0x5b586b=gotoif['validate'](_0xf27243,{'typecast':!![]});if(_0x5b586b[_0xcd0e('0x9')]){logger[_0xcd0e('0xa')](_0xcd0e('0xb'),_0x142218,_[_0xcd0e('0xc')](_0x5b586b,'message')['join'](',\x20'));_0x33d974[_0xcd0e('0xd')]();}else{try{var _0xf82776=eval('('+_0xf27243['condition']+')');var _0x3034a8=_0xf82776?_0xf27243[_0xcd0e('0xe')]:_0xf27243[_0xcd0e('0xf')];logger[_0xcd0e('0x10')](_0xcd0e('0x11'),_0x142218,_0xf27243[_0xcd0e('0x12')],_0xf82776,_0x3034a8||'next');if(_0x3034a8){var _0x7084c8=_['findIndex'](_0x33d974[_0xcd0e('0x13')](),{'p':_0x3034a8});if(_0x7084c8>=0x0){logger[_0xcd0e('0x10')](_0xcd0e('0x14'),_0x142218,_0x3034a8||_0xcd0e('0x15'),_0x7084c8);_0x33d974['next'](_0x7084c8);}else{logger['info'](_0xcd0e('0x16'),_0x142218,_0x3034a8||_0xcd0e('0x15'));_0x33d974[_0xcd0e('0xd')]();}}else{_0x33d974[_0xcd0e('0x15')]();}}catch(_0x124d3f){logger[_0xcd0e('0xa')](_0xcd0e('0x17'),_0x142218,_0x124d3f[_0xcd0e('0x18')]);_0x33d974['stop']();}}}catch(_0x272809){logger['error'](_0xcd0e('0xb'),_0x142218,JSON[_0xcd0e('0x19')](_0x272809));_0x33d974[_0xcd0e('0xd')]();}};};