Built motion from commit ddca4d0d.|2.5.47
[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 _0x723e=['order','sort','where','pick','filter','object','value','VIRTUAL','lower','merge','options','sequelize','moment','parse','keys','includes','fields','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','utc','format','$lte','YYYY-MM-DD','subtract','name','uniqueid','isArray','split','limit','offset','map','priority','col','unsigned','substr','DESC','cast','ASC','omit','length','isObject','unset','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','forEach','push','join','getOptions','query','$id','model','intersection','attributes','nolimit'];(function(_0x2b7637,_0x2ca12d){var _0x3cef86=function(_0x1a4ee7){while(--_0x1a4ee7){_0x2b7637['push'](_0x2b7637['shift']());}};_0x3cef86(++_0x2ca12d);}(_0x723e,0x179));var _0xe723=function(_0x231438,_0x431b0e){_0x231438=_0x231438-0x0;var _0x3c8759=_0x723e[_0x231438];return _0x3c8759;};'use strict';var _=require('lodash');var sequelize=require(_0xe723('0x0'));var moment=require(_0xe723('0x1'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x21d00c){var _0x161d6b=['ne'];try{var _0x2801c5=JSON[_0xe723('0x2')](_0x21d00c);var _0x39e35c=Object[_0xe723('0x3')](_0x2801c5)[0x0];return _0x161d6b[_0xe723('0x4')](_0x39e35c);}catch(_0x10aa61){return![];}}function getOperatorValue(_0x4b1c43){var _0x32d689=JSON[_0xe723('0x2')](_0x4b1c43);var _0x1335cd=Object[_0xe723('0x3')](_0x32d689)[0x0];var _0x2aebbd=_0x32d689[_0x1335cd];return{['$'+_0x1335cd]:_0x2aebbd};}exports[_0xe723('0x5')]=function(_0x1b46e0){var _0x1f07f3=null;if(_0x1b46e0){_0x1f07f3=_0x1b46e0['split'](',');}return _0x1f07f3;};exports[_0xe723('0x6')]=function(_0x270346,_0x34831f){var _0x5a43fb={};if(!_[_0xe723('0x7')](_0x270346)){_[_0xe723('0x8')](_0x270346,function(_0xcf68e2,_0x583291){try{if(_0x34831f){var _0x146098=_[_0xe723('0x9')](_0x34831f,{'name':_0x583291})||{};if(hasSequelizeOperator(_0xcf68e2)){_0x5a43fb[_0x583291]=getOperatorValue(_0xcf68e2);}else if(_0x146098[_0xe723('0xa')]===_0xe723('0xb')&&_[_0xe723('0xc')](_0xcf68e2)){var _0x5c066c=JSON[_0xe723('0x2')](_0xcf68e2);var _0x4bfbc1={'$gte':moment(moment(_0x5c066c['$gte'])['format']('YYYY-MM-DD'))[_0xe723('0xd')]()[_0xe723('0xe')](),'$lte':moment(moment(_0x5c066c[_0xe723('0xf')])[_0xe723('0xe')](_0xe723('0x10')))['utc']()[_0xe723('0x11')](0x1,'s')[_0xe723('0xe')]()};_0x5a43fb[_0x583291]=_0x4bfbc1;}else if(_0x146098[_0xe723('0x12')]===_0xe723('0x13')){_0x5a43fb[_0x583291]=_0xcf68e2;}else{_0x5a43fb[_0x583291]=_[_0xe723('0x14')](_0xcf68e2)?_0xcf68e2:JSON[_0xe723('0x2')](_0xcf68e2);}}else{_0x5a43fb[_0x583291]=_[_0xe723('0x14')](_0xcf68e2)?_0xcf68e2:JSON[_0xe723('0x2')](_0xcf68e2);}}catch(_0x17e2c1){_0x5a43fb[_0x583291]=_0xcf68e2[_0xe723('0x15')](',');}});}return _0x5a43fb;};exports[_0xe723('0x16')]=function(_0x3012cf){_0x3012cf=parseInt(_0x3012cf,0xa);if(!_0x3012cf||_0x3012cf<0x0){_0x3012cf=LIMIT_VALUE;}return _0x3012cf;};exports[_0xe723('0x17')]=function(_0x367782){_0x367782=parseInt(_0x367782,0xa);if(!_0x367782||_0x367782<0x0){_0x367782=0x0;}return _0x367782;};exports['sort']=function(_0x5b2308){var _0x31c839,_0x1ed6fb=null;if(_0x5b2308){_0x31c839=_0x5b2308['split'](',');_0x1ed6fb=_[_0xe723('0x18')](_0x31c839,function(_0x2762e2){if(_0x2762e2['indexOf']('-')===0x0){return[_0x2762e2===_0xe723('0x19')?sequelize['cast'](sequelize[_0xe723('0x1a')](_0xe723('0x19')),_0xe723('0x1b')):_0x2762e2[_0xe723('0x1c')](0x1),_0xe723('0x1d')];}else{return[_0x2762e2===_0xe723('0x19')?sequelize[_0xe723('0x1e')](sequelize[_0xe723('0x1a')](_0xe723('0x19')),_0xe723('0x1b')):_0x2762e2,_0xe723('0x1f')];}});}return _0x1ed6fb;};exports[_0xe723('0x20')]=function(_0x5c4fb4,_0x384786){if(_['isEmpty'](_0x5c4fb4)){return _0x5c4fb4;}if(_[_0xe723('0x14')](_0x5c4fb4)){for(var _0x3ffa15=0x0;_0x3ffa15<_0x5c4fb4[_0xe723('0x21')];_0x3ffa15+=0x1){_0x5c4fb4[_0x3ffa15]=this[_0xe723('0x20')](_0x5c4fb4[_0x3ffa15],_0x384786);}return _0x5c4fb4;}if(!_[_0xe723('0x22')](_0x5c4fb4)){return _0x5c4fb4;}if(_['isString'](_0x384786)){_0x384786=[_0x384786];}if(!_[_0xe723('0x14')](_0x384786)){return _0x5c4fb4;}for(var _0x52feb9=0x0;_0x52feb9<_0x384786['length'];_0x52feb9+=0x1){_[_0xe723('0x23')](_0x5c4fb4,_0x384786[_0x52feb9]);}for(var _0x511c74 in _0x5c4fb4){if(_0x5c4fb4[_0xe723('0x24')](_0x511c74)){_0x5c4fb4[_0x511c74]=this[_0xe723('0x20')](_0x5c4fb4[_0x511c74],_0x384786);}}return _0x5c4fb4;};exports[_0xe723('0x25')]=function(_0x4d55cc){return _0x4d55cc[_0xe723('0x26')](RegExp(_0xe723('0x27')))?!![]:![];};exports['isEmail']=function(_0x3c8c56){return _0x3c8c56['match'](/^\S+@\S+$/)?!![]:![];};exports['getFullTextValue']=function(_0x312dc9){var _0x2c2240=[];_0x312dc9[_0xe723('0x15')](/[ ,]+/)[_0xe723('0x28')](function(_0x49788a){_0x49788a=_0x49788a['replace'](/([^:]")"+/g,'$1');_0x49788a='+'+_0x49788a+'*';var _0x1d1146=/[ `!@#$%^&*()_\-?~]/;if(_0x49788a['match'](_0x1d1146))_0x49788a='\x22'+_0x49788a+'\x22';_0x2c2240[_0xe723('0x29')](_0x49788a);});return _0x2c2240[_0xe723('0x2a')]('\x20');};exports[_0xe723('0x2b')]=function(_0xb91a9c,_0x8ced18,_0x26497e){var _0x4706d4={},_0x163549={};if(_0x8ced18[_0xe723('0x2c')][_0xe723('0x2d')]){_0x8ced18[_0xe723('0x2c')]['id']=_0x8ced18[_0xe723('0x2c')][_0xe723('0x2d')];delete _0x8ced18[_0xe723('0x2c')]['$id'];}_0x4706d4[_0xe723('0x2e')]=_['map'](_0xb91a9c,_0xe723('0x12'));_0x4706d4[_0xe723('0x2c')]=_['keys'](_0x8ced18['query']);_0x4706d4[_0xe723('0x6')]=_[_0xe723('0x2f')](_0x4706d4[_0xe723('0x2e')],_0x4706d4[_0xe723('0x2c')]);_0x163549[_0xe723('0x30')]=_[_0xe723('0x2f')](_0x4706d4['model'],this[_0xe723('0x5')](_0x8ced18[_0xe723('0x2c')][_0xe723('0x5')]));_0x163549[_0xe723('0x30')]=_0x163549[_0xe723('0x30')][_0xe723('0x21')]?_0x163549[_0xe723('0x30')]:_0x4706d4[_0xe723('0x2e')];if(!_0x8ced18[_0xe723('0x2c')][_0xe723('0x24')](_0xe723('0x31'))){_0x163549[_0xe723('0x16')]=this[_0xe723('0x16')](_0x8ced18[_0xe723('0x2c')][_0xe723('0x16')]);_0x163549[_0xe723('0x17')]=this['offset'](_0x8ced18[_0xe723('0x2c')][_0xe723('0x17')]);}_0x163549[_0xe723('0x32')]=this[_0xe723('0x33')](_0x8ced18['query']['sort']);_0x163549[_0xe723('0x34')]=this[_0xe723('0x6')](_[_0xe723('0x35')](_0x8ced18[_0xe723('0x2c')],_0x4706d4['filters']),_0xb91a9c);if(_0x8ced18['query'][_0xe723('0x36')]){var _0x2f1618=_0xb91a9c;var _0x24909=_0x8ced18[_0xe723('0x2c')][_0xe723('0x36')];if(typeof _0x24909===_0xe723('0x37')){_0x2f1618=_[_0xe723('0x36')](_0xb91a9c,function(_0x2b74d5){return _[_0xe723('0x4')](_0x24909['columns'],_0x2b74d5['name']);});_0x24909=_0x24909[_0xe723('0x38')];}_0x163549['where']=_['merge'](_0x163549[_0xe723('0x34')],{'$or':_['map'](_0x2f1618,function(_0x36272){if(_0x36272[_0xe723('0xa')]!==_0xe723('0x39')){if(_0x26497e){return sequelize[_0xe723('0x34')](sequelize['fn'](_0xe723('0x3a'),sequelize[_0xe723('0x1a')](_0x36272[_0xe723('0x12')])),{'$like':sequelize['fn']('lower','%'+_0x8ced18['query'][_0xe723('0x36')]+'%')});}else{var _0x562583={};_0x562583[_0x36272[_0xe723('0x12')]]={'$like':'%'+_0x8ced18['query'][_0xe723('0x36')]+'%'};return _0x562583;}}})});}_0x163549=_[_0xe723('0x3b')]({},_0x163549,_0x8ced18[_0xe723('0x3c')]);return _0x163549;};