64a83e07b6904c0b0053eae987154c4b425d7c24
[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 _0xd22b=['sort','map','indexOf','priority','cast','col','unsigned','substr','DESC','ASC','omit','isObject','isString','length','isEmail','match','getFullTextValue','forEach','replace','includes','push','join','getOptions','query','$id','model','intersection','attributes','hasOwnProperty','nolimit','order','where','pick','filter','object','merge','VIRTUAL','lower','options','lodash','sequelize','moment','parse','keys','fields','split','filters','isEmpty','forOwn','isPlainObject','$gte','format','YYYY-MM-DD','utc','$lte','subtract','name','uniqueid','isArray','limit','offset'];(function(_0x34d635,_0x2784fc){var _0x3ab288=function(_0x41589b){while(--_0x41589b){_0x34d635['push'](_0x34d635['shift']());}};_0x3ab288(++_0x2784fc);}(_0xd22b,0x11b));var _0xbd22=function(_0x50da8e,_0x3106df){_0x50da8e=_0x50da8e-0x0;var _0x2c01c2=_0xd22b[_0x50da8e];return _0x2c01c2;};'use strict';var _=require(_0xbd22('0x0'));var sequelize=require(_0xbd22('0x1'));var moment=require(_0xbd22('0x2'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x3b5a2f){var _0x1e6f99=['ne'];try{var _0x3f5cd9=JSON[_0xbd22('0x3')](_0x3b5a2f);var _0x52708a=Object[_0xbd22('0x4')](_0x3f5cd9)[0x0];return _0x1e6f99['includes'](_0x52708a);}catch(_0x18b1e8){return![];}}function getOperatorValue(_0x262ed9){var _0x390186=JSON[_0xbd22('0x3')](_0x262ed9);var _0x40180e=Object[_0xbd22('0x4')](_0x390186)[0x0];var _0x240268=_0x390186[_0x40180e];return{['$'+_0x40180e]:_0x240268};}exports[_0xbd22('0x5')]=function(_0x306377){var _0x3c99b3=null;if(_0x306377){_0x3c99b3=_0x306377[_0xbd22('0x6')](',');}return _0x3c99b3;};exports[_0xbd22('0x7')]=function(_0x3f8c09,_0x351d96){var _0xd99fc4={};if(!_[_0xbd22('0x8')](_0x3f8c09)){_[_0xbd22('0x9')](_0x3f8c09,function(_0x574631,_0x329d5c){try{if(_0x351d96){var _0x415cd8=_['find'](_0x351d96,{'name':_0x329d5c})||{};if(hasSequelizeOperator(_0x574631)){_0xd99fc4[_0x329d5c]=getOperatorValue(_0x574631);}else if(_0x415cd8['type']==='DATE'&&_[_0xbd22('0xa')](_0x574631)){var _0xc0c396=JSON[_0xbd22('0x3')](_0x574631);var _0x2f3314={'$gte':moment(moment(_0xc0c396[_0xbd22('0xb')])[_0xbd22('0xc')](_0xbd22('0xd')))[_0xbd22('0xe')]()['format'](),'$lte':moment(moment(_0xc0c396[_0xbd22('0xf')])[_0xbd22('0xc')](_0xbd22('0xd')))[_0xbd22('0xe')]()[_0xbd22('0x10')](0x1,'s')[_0xbd22('0xc')]()};_0xd99fc4[_0x329d5c]=_0x2f3314;}else if(_0x415cd8[_0xbd22('0x11')]===_0xbd22('0x12')){_0xd99fc4[_0x329d5c]=_0x574631;}else{_0xd99fc4[_0x329d5c]=_['isArray'](_0x574631)?_0x574631:JSON[_0xbd22('0x3')](_0x574631);}}else{_0xd99fc4[_0x329d5c]=_[_0xbd22('0x13')](_0x574631)?_0x574631:JSON[_0xbd22('0x3')](_0x574631);}}catch(_0x32528c){_0xd99fc4[_0x329d5c]=_0x574631[_0xbd22('0x6')](',');}});}return _0xd99fc4;};exports[_0xbd22('0x14')]=function(_0x2fdfe3){_0x2fdfe3=parseInt(_0x2fdfe3,0xa);if(!_0x2fdfe3||_0x2fdfe3<0x0){_0x2fdfe3=LIMIT_VALUE;}return _0x2fdfe3;};exports[_0xbd22('0x15')]=function(_0x54a1c6){_0x54a1c6=parseInt(_0x54a1c6,0xa);if(!_0x54a1c6||_0x54a1c6<0x0){_0x54a1c6=0x0;}return _0x54a1c6;};exports[_0xbd22('0x16')]=function(_0x54ad0e){var _0x4e0420,_0x37e220=null;if(_0x54ad0e){_0x4e0420=_0x54ad0e[_0xbd22('0x6')](',');_0x37e220=_[_0xbd22('0x17')](_0x4e0420,function(_0x4b1b3b){if(_0x4b1b3b[_0xbd22('0x18')]('-')===0x0){return[_0x4b1b3b===_0xbd22('0x19')?sequelize[_0xbd22('0x1a')](sequelize[_0xbd22('0x1b')](_0xbd22('0x19')),_0xbd22('0x1c')):_0x4b1b3b[_0xbd22('0x1d')](0x1),_0xbd22('0x1e')];}else{return[_0x4b1b3b===_0xbd22('0x19')?sequelize['cast'](sequelize[_0xbd22('0x1b')](_0xbd22('0x19')),_0xbd22('0x1c')):_0x4b1b3b,_0xbd22('0x1f')];}});}return _0x37e220;};exports['omit']=function(_0x37699d,_0x2585f1){if(_['isEmpty'](_0x37699d)){return _0x37699d;}if(_['isArray'](_0x37699d)){for(var _0x26247f=0x0;_0x26247f<_0x37699d['length'];_0x26247f+=0x1){_0x37699d[_0x26247f]=this[_0xbd22('0x20')](_0x37699d[_0x26247f],_0x2585f1);}return _0x37699d;}if(!_[_0xbd22('0x21')](_0x37699d)){return _0x37699d;}if(_[_0xbd22('0x22')](_0x2585f1)){_0x2585f1=[_0x2585f1];}if(!_['isArray'](_0x2585f1)){return _0x37699d;}for(var _0x1c978d=0x0;_0x1c978d<_0x2585f1[_0xbd22('0x23')];_0x1c978d+=0x1){_['unset'](_0x37699d,_0x2585f1[_0x1c978d]);}for(var _0x41d0fe in _0x37699d){if(_0x37699d['hasOwnProperty'](_0x41d0fe)){_0x37699d[_0x41d0fe]=this[_0xbd22('0x20')](_0x37699d[_0x41d0fe],_0x2585f1);}}return _0x37699d;};exports['isNumeric']=function(_0x1cc0c6){return _0x1cc0c6['match'](RegExp('^[+]?[0-9]*$'))?!![]:![];};exports[_0xbd22('0x24')]=function(_0x485f54){return _0x485f54[_0xbd22('0x25')](/^\S+@\S+$/)?!![]:![];};exports[_0xbd22('0x26')]=function(_0x238c0d){var _0x348cc8=[];_0x238c0d[_0xbd22('0x6')](/[ ,]+/)[_0xbd22('0x27')](function(_0x4ef54d){_0x4ef54d=_0x4ef54d[_0xbd22('0x28')](/([^:]")"+/g,'$1');_0x4ef54d='+'+_0x4ef54d+'*';if(_0x4ef54d[_0xbd22('0x29')]('@'))_0x4ef54d='\x22'+_0x4ef54d+'\x22';_0x348cc8[_0xbd22('0x2a')](_0x4ef54d);});return _0x348cc8[_0xbd22('0x2b')]('\x20');};exports[_0xbd22('0x2c')]=function(_0x8b1d1f,_0x4300e5,_0x473b4e){var _0x2713b0={},_0xce656c={};if(_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x2e')]){_0x4300e5[_0xbd22('0x2d')]['id']=_0x4300e5['query'][_0xbd22('0x2e')];delete _0x4300e5[_0xbd22('0x2d')][_0xbd22('0x2e')];}_0x2713b0[_0xbd22('0x2f')]=_['map'](_0x8b1d1f,'name');_0x2713b0['query']=_['keys'](_0x4300e5[_0xbd22('0x2d')]);_0x2713b0[_0xbd22('0x7')]=_[_0xbd22('0x30')](_0x2713b0[_0xbd22('0x2f')],_0x2713b0[_0xbd22('0x2d')]);_0xce656c[_0xbd22('0x31')]=_[_0xbd22('0x30')](_0x2713b0[_0xbd22('0x2f')],this[_0xbd22('0x5')](_0x4300e5[_0xbd22('0x2d')]['fields']));_0xce656c[_0xbd22('0x31')]=_0xce656c[_0xbd22('0x31')][_0xbd22('0x23')]?_0xce656c[_0xbd22('0x31')]:_0x2713b0[_0xbd22('0x2f')];if(!_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x32')](_0xbd22('0x33'))){_0xce656c[_0xbd22('0x14')]=this[_0xbd22('0x14')](_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x14')]);_0xce656c['offset']=this[_0xbd22('0x15')](_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x15')]);}_0xce656c[_0xbd22('0x34')]=this['sort'](_0x4300e5['query'][_0xbd22('0x16')]);_0xce656c[_0xbd22('0x35')]=this[_0xbd22('0x7')](_[_0xbd22('0x36')](_0x4300e5[_0xbd22('0x2d')],_0x2713b0[_0xbd22('0x7')]),_0x8b1d1f);if(_0x4300e5['query'][_0xbd22('0x37')]){var _0x38ffac=_0x8b1d1f;var _0x20c833=_0x4300e5['query']['filter'];if(typeof _0x20c833===_0xbd22('0x38')){_0x38ffac=_[_0xbd22('0x37')](_0x8b1d1f,function(_0x5e4219){return _['includes'](_0x20c833['columns'],_0x5e4219[_0xbd22('0x11')]);});_0x20c833=_0x20c833['value'];}_0xce656c[_0xbd22('0x35')]=_[_0xbd22('0x39')](_0xce656c[_0xbd22('0x35')],{'$or':_[_0xbd22('0x17')](_0x38ffac,function(_0x227a00){if(_0x227a00['type']!==_0xbd22('0x3a')){if(_0x473b4e){return sequelize[_0xbd22('0x35')](sequelize['fn'](_0xbd22('0x3b'),sequelize[_0xbd22('0x1b')](_0x227a00['name'])),{'$like':sequelize['fn']('lower','%'+_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x37')]+'%')});}else{var _0x26fd69={};_0x26fd69[_0x227a00[_0xbd22('0x11')]]={'$like':'%'+_0x4300e5[_0xbd22('0x2d')][_0xbd22('0x37')]+'%'};return _0x26fd69;}}})});}_0xce656c=_['merge']({},_0xce656c,_0x4300e5[_0xbd22('0x3c')]);return _0xce656c;};