Built motion from commit 746c7d2a.|2.5.35
[motion2.git] / server / components / parsers / qs.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 _0x6b4f=['hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','isEmail','getFullTextValue','forEach','push','join','query','$id','model','intersection','attributes','nolimit','offset','order','where','filter','VIRTUAL','lower','sequelize','moment','parse','keys','includes','fields','split','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','format','utc','YYYY-MM-DD','subtract','name','uniqueid','isArray','limit','sort','map','priority','cast','col','unsigned','substr','DESC','ASC','omit','length','isString','unset'];(function(_0x2b5eae,_0x55010d){var _0x5f3ac9=function(_0x397bfc){while(--_0x397bfc){_0x2b5eae['push'](_0x2b5eae['shift']());}};_0x5f3ac9(++_0x55010d);}(_0x6b4f,0x87));var _0xf6b4=function(_0x1d389f,_0x3e22ab){_0x1d389f=_0x1d389f-0x0;var _0x5b3f88=_0x6b4f[_0x1d389f];return _0x5b3f88;};'use strict';var _=require('lodash');var sequelize=require(_0xf6b4('0x0'));var moment=require(_0xf6b4('0x1'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x2a9ab9){var _0x16c3a4=['ne'];try{var _0x40eae5=JSON[_0xf6b4('0x2')](_0x2a9ab9);var _0x385533=Object[_0xf6b4('0x3')](_0x40eae5)[0x0];return _0x16c3a4[_0xf6b4('0x4')](_0x385533);}catch(_0x57bd8e){return![];}}function getOperatorValue(_0x4e59d3){var _0x579cc8=JSON[_0xf6b4('0x2')](_0x4e59d3);var _0x27f5da=Object[_0xf6b4('0x3')](_0x579cc8)[0x0];var _0x183128=_0x579cc8[_0x27f5da];return{['$'+_0x27f5da]:_0x183128};}exports[_0xf6b4('0x5')]=function(_0x5b4825){var _0x17939a=null;if(_0x5b4825){_0x17939a=_0x5b4825[_0xf6b4('0x6')](',');}return _0x17939a;};exports[_0xf6b4('0x7')]=function(_0x40125e,_0x2b6e57){var _0x2a2469={};if(!_[_0xf6b4('0x8')](_0x40125e)){_[_0xf6b4('0x9')](_0x40125e,function(_0x12b6e9,_0xcbe0f4){try{if(_0x2b6e57){var _0x52c9b6=_[_0xf6b4('0xa')](_0x2b6e57,{'name':_0xcbe0f4})||{};if(hasSequelizeOperator(_0x12b6e9)){_0x2a2469[_0xcbe0f4]=getOperatorValue(_0x12b6e9);}else if(_0x52c9b6[_0xf6b4('0xb')]===_0xf6b4('0xc')&&_[_0xf6b4('0xd')](_0x12b6e9)){var _0x442b08=JSON[_0xf6b4('0x2')](_0x12b6e9);var _0x467632={'$gte':moment(moment(_0x442b08[_0xf6b4('0xe')])[_0xf6b4('0xf')]('YYYY-MM-DD'))[_0xf6b4('0x10')]()[_0xf6b4('0xf')](),'$lte':moment(moment(_0x442b08['$lte'])[_0xf6b4('0xf')](_0xf6b4('0x11')))[_0xf6b4('0x10')]()[_0xf6b4('0x12')](0x1,'s')['format']()};_0x2a2469[_0xcbe0f4]=_0x467632;}else if(_0x52c9b6[_0xf6b4('0x13')]===_0xf6b4('0x14')){_0x2a2469[_0xcbe0f4]=_0x12b6e9;}else{_0x2a2469[_0xcbe0f4]=_[_0xf6b4('0x15')](_0x12b6e9)?_0x12b6e9:JSON[_0xf6b4('0x2')](_0x12b6e9);}}else{_0x2a2469[_0xcbe0f4]=_[_0xf6b4('0x15')](_0x12b6e9)?_0x12b6e9:JSON[_0xf6b4('0x2')](_0x12b6e9);}}catch(_0x116f93){_0x2a2469[_0xcbe0f4]=_0x12b6e9[_0xf6b4('0x6')](',');}});}return _0x2a2469;};exports[_0xf6b4('0x16')]=function(_0x94dac8){_0x94dac8=parseInt(_0x94dac8,0xa);if(!_0x94dac8||_0x94dac8<0x0){_0x94dac8=LIMIT_VALUE;}return _0x94dac8;};exports['offset']=function(_0x4df9f9){_0x4df9f9=parseInt(_0x4df9f9,0xa);if(!_0x4df9f9||_0x4df9f9<0x0){_0x4df9f9=0x0;}return _0x4df9f9;};exports[_0xf6b4('0x17')]=function(_0x338ee5){var _0xe2a810,_0x3ddfdd=null;if(_0x338ee5){_0xe2a810=_0x338ee5['split'](',');_0x3ddfdd=_[_0xf6b4('0x18')](_0xe2a810,function(_0xcaeac5){if(_0xcaeac5['indexOf']('-')===0x0){return[_0xcaeac5===_0xf6b4('0x19')?sequelize[_0xf6b4('0x1a')](sequelize[_0xf6b4('0x1b')](_0xf6b4('0x19')),_0xf6b4('0x1c')):_0xcaeac5[_0xf6b4('0x1d')](0x1),_0xf6b4('0x1e')];}else{return[_0xcaeac5==='priority'?sequelize[_0xf6b4('0x1a')](sequelize['col']('priority'),_0xf6b4('0x1c')):_0xcaeac5,_0xf6b4('0x1f')];}});}return _0x3ddfdd;};exports[_0xf6b4('0x20')]=function(_0x4ad2da,_0x3689e7){if(_[_0xf6b4('0x8')](_0x4ad2da)){return _0x4ad2da;}if(_['isArray'](_0x4ad2da)){for(var _0x20e76a=0x0;_0x20e76a<_0x4ad2da[_0xf6b4('0x21')];_0x20e76a+=0x1){_0x4ad2da[_0x20e76a]=this[_0xf6b4('0x20')](_0x4ad2da[_0x20e76a],_0x3689e7);}return _0x4ad2da;}if(!_['isObject'](_0x4ad2da)){return _0x4ad2da;}if(_[_0xf6b4('0x22')](_0x3689e7)){_0x3689e7=[_0x3689e7];}if(!_[_0xf6b4('0x15')](_0x3689e7)){return _0x4ad2da;}for(var _0x3a14a5=0x0;_0x3a14a5<_0x3689e7[_0xf6b4('0x21')];_0x3a14a5+=0x1){_[_0xf6b4('0x23')](_0x4ad2da,_0x3689e7[_0x3a14a5]);}for(var _0x4dbe25 in _0x4ad2da){if(_0x4ad2da[_0xf6b4('0x24')](_0x4dbe25)){_0x4ad2da[_0x4dbe25]=this[_0xf6b4('0x20')](_0x4ad2da[_0x4dbe25],_0x3689e7);}}return _0x4ad2da;};exports[_0xf6b4('0x25')]=function(_0xceae7b){return _0xceae7b[_0xf6b4('0x26')](RegExp(_0xf6b4('0x27')))?!![]:![];};exports[_0xf6b4('0x28')]=function(_0x124b78){return _0x124b78['match'](/^\S+@\S+$/)?!![]:![];};exports[_0xf6b4('0x29')]=function(_0x1847b3){var _0x4335c5=[];_0x1847b3['split'](/[ ,]+/)[_0xf6b4('0x2a')](function(_0x34a62b){_0x34a62b=_0x34a62b['replace'](/([^:]")"+/g,'$1');_0x34a62b='+'+_0x34a62b+'*';if(_0x34a62b[_0xf6b4('0x4')]('@'))_0x34a62b='\x22'+_0x34a62b+'\x22';_0x4335c5[_0xf6b4('0x2b')](_0x34a62b);});return _0x4335c5[_0xf6b4('0x2c')]('\x20');};exports['getOptions']=function(_0x57137f,_0x20ffe1,_0x41e8fe){var _0x24bf49={},_0xad10={};if(_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x2e')]){_0x20ffe1['query']['id']=_0x20ffe1['query']['$id'];delete _0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x2e')];}_0x24bf49[_0xf6b4('0x2f')]=_[_0xf6b4('0x18')](_0x57137f,'name');_0x24bf49[_0xf6b4('0x2d')]=_[_0xf6b4('0x3')](_0x20ffe1[_0xf6b4('0x2d')]);_0x24bf49[_0xf6b4('0x7')]=_[_0xf6b4('0x30')](_0x24bf49[_0xf6b4('0x2f')],_0x24bf49[_0xf6b4('0x2d')]);_0xad10['attributes']=_[_0xf6b4('0x30')](_0x24bf49[_0xf6b4('0x2f')],this[_0xf6b4('0x5')](_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x5')]));_0xad10['attributes']=_0xad10[_0xf6b4('0x31')][_0xf6b4('0x21')]?_0xad10[_0xf6b4('0x31')]:_0x24bf49[_0xf6b4('0x2f')];if(!_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x24')](_0xf6b4('0x32'))){_0xad10['limit']=this['limit'](_0x20ffe1['query']['limit']);_0xad10[_0xf6b4('0x33')]=this[_0xf6b4('0x33')](_0x20ffe1['query'][_0xf6b4('0x33')]);}_0xad10[_0xf6b4('0x34')]=this[_0xf6b4('0x17')](_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x17')]);_0xad10[_0xf6b4('0x35')]=this[_0xf6b4('0x7')](_['pick'](_0x20ffe1['query'],_0x24bf49[_0xf6b4('0x7')]),_0x57137f);if(_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x36')]){_0xad10[_0xf6b4('0x35')]=_['merge'](_0xad10[_0xf6b4('0x35')],{'$or':_['map'](_0x57137f,function(_0x20bb81){if(_0x20bb81[_0xf6b4('0xb')]!==_0xf6b4('0x37')){if(_0x41e8fe){return sequelize[_0xf6b4('0x35')](sequelize['fn'](_0xf6b4('0x38'),sequelize[_0xf6b4('0x1b')](_0x20bb81[_0xf6b4('0x13')])),{'$like':sequelize['fn']('lower','%'+_0x20ffe1[_0xf6b4('0x2d')][_0xf6b4('0x36')]+'%')});}else{var _0x45bfe2={};_0x45bfe2[_0x20bb81[_0xf6b4('0x13')]]={'$like':'%'+_0x20ffe1['query'][_0xf6b4('0x36')]+'%'};return _0x45bfe2;}}})});}_0xad10=_['merge']({},_0xad10,_0x20ffe1['options']);return _0xad10;};