bf7285f8c95286762b5b369aae4558771a495ba8
[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 _0xaa5b=['stringify','./utils','routing','string','condition\x20is\x20a\x20string\x20and\x20it\x20is\x20required','number','priority\x20true\x20is\x20a\x20number','priority\x20false\x20is\x20a\x20number','validate','[%s][GOTOIF]\x20%s','map','message','join','stop','condition','priorityFalse','info','[%s][GOTOIF]\x20condition\x20%s\x20is\x20%s\x20try\x20goto\x20priority\x20%s','next','findIndex','rules','[%s][GOTOIF]\x20priority\x20%s\x20found\x20at\x20index:\x20%s','[%s][GOTOIF]\x20priority\x20%s\x20not\x20found','error','[%s][GOTOIF]\x20eval\x20error:\x20%s'];(function(_0x53c256,_0x382a24){var _0x25feb6=function(_0x2652fd){while(--_0x2652fd){_0x53c256['push'](_0x53c256['shift']());}};_0x25feb6(++_0x382a24);}(_0xaa5b,0x146));var _0xbaa5=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xaa5b[_0x20a584];return _0x4b41a8;};'use strict';var schema=require('validate');var _=require('lodash');var htmlToText=require('html-to-text');var utils=require(_0xbaa5('0x0'));var logger=require('../../../../config/logger')(_0xbaa5('0x1'));var gotoif=schema({'condition':{'type':_0xbaa5('0x2'),'required':!![],'message':_0xbaa5('0x3')},'priorityTrue':{'type':_0xbaa5('0x4'),'message':_0xbaa5('0x5')},'priorityFalse':{'type':_0xbaa5('0x4'),'message':_0xbaa5('0x6')}});exports['consequence']=function(_0x311129,_0x5deb09){return function(_0x2dae7e){try{var _0x84cb36={'condition':htmlToText['fromString'](utils['getMustacheRender'](_0x5deb09[0x0],this),{'wordwrap':![]})['replace'](/<\/?[^>]+(>|$)/g,''),'priorityTrue':_0x5deb09[0x1],'priorityFalse':_0x5deb09[0x2]};var _0x43094c=gotoif[_0xbaa5('0x7')](_0x84cb36,{'typecast':!![]});if(_0x43094c['length']){logger['error'](_0xbaa5('0x8'),_0x311129,_[_0xbaa5('0x9')](_0x43094c,_0xbaa5('0xa'))[_0xbaa5('0xb')](',\x20'));_0x2dae7e[_0xbaa5('0xc')]();}else{try{var _0x430262=eval('('+_0x84cb36[_0xbaa5('0xd')]+')');var _0x2825b4=_0x430262?_0x84cb36['priorityTrue']:_0x84cb36[_0xbaa5('0xe')];logger[_0xbaa5('0xf')](_0xbaa5('0x10'),_0x311129,_0x84cb36[_0xbaa5('0xd')],_0x430262,_0x2825b4||_0xbaa5('0x11'));if(_0x2825b4){var _0x46f002=_[_0xbaa5('0x12')](_0x2dae7e[_0xbaa5('0x13')](),{'p':_0x2825b4});if(_0x46f002>=0x0){logger[_0xbaa5('0xf')](_0xbaa5('0x14'),_0x311129,_0x2825b4||'next',_0x46f002);_0x2dae7e['next'](_0x46f002);}else{logger[_0xbaa5('0xf')](_0xbaa5('0x15'),_0x311129,_0x2825b4||_0xbaa5('0x11'));_0x2dae7e['stop']();}}else{_0x2dae7e[_0xbaa5('0x11')]();}}catch(_0x274ba8){logger[_0xbaa5('0x16')](_0xbaa5('0x17'),_0x311129,_0x274ba8[_0xbaa5('0xa')]);_0x2dae7e[_0xbaa5('0xc')]();}}}catch(_0x296d89){logger[_0xbaa5('0x16')](_0xbaa5('0x8'),_0x311129,JSON[_0xbaa5('0x18')](_0x296d89));_0x2dae7e[_0xbaa5('0xc')]();}};};