Built motion from commit 3c2ce842.|2.6.31
[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 _0xcd12=['split','filters','forOwn','find','DATE','isPlainObject','$gte','format','YYYY-MM-DD','utc','$lte','subtract','name','uniqueid','isArray','limit','offset','sort','map','indexOf','priority','cast','unsigned','DESC','ASC','omit','isEmpty','isObject','isString','unset','hasOwnProperty','^[+]?[0-9]*$','match','getFullTextValue','{EXPR}','trim','forEach','push','replace','join','getOptions','$id','query','intersection','attributes','length','nolimit','where','pick','filter','columns','value','merge','type','VIRTUAL','lower','options','include','escapeLIKESpecialChars','sequelize','moment','../../mysqldb','keys','includes','parse','model','alias','fields','raw'];(function(_0x445101,_0x2414bf){var _0x3c3d04=function(_0x249067){while(--_0x249067){_0x445101['push'](_0x445101['shift']());}};_0x3c3d04(++_0x2414bf);}(_0xcd12,0xc5));var _0x2cd1=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xcd12[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var sequelize=require(_0x2cd1('0x0'));var moment=require(_0x2cd1('0x1'));var db=require(_0x2cd1('0x2'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x283685){var _0x3010dc=['ne'];try{var _0x2e8d27=JSON['parse'](_0x283685);var _0x138e23=Object[_0x2cd1('0x3')](_0x2e8d27)[0x0];return _0x3010dc[_0x2cd1('0x4')](_0x138e23);}catch(_0x1c3d67){return![];}}function getOperatorValue(_0x1ea7e4){var _0x3099bd=JSON[_0x2cd1('0x5')](_0x1ea7e4);var _0x5a2018=Object[_0x2cd1('0x3')](_0x3099bd)[0x0];var _0x4c2ee3=_0x3099bd[_0x5a2018];return{['$'+_0x5a2018]:_0x4c2ee3};}function parseIncludeModel(_0x12051f){var _0xe22e41=JSON[_0x2cd1('0x5')](_0x12051f);return{'model':db[_0xe22e41[_0x2cd1('0x6')]],'as':_0xe22e41[_0x2cd1('0x7')],'attributes':_0xe22e41[_0x2cd1('0x8')],'raw':_0xe22e41[_0x2cd1('0x9')]};}exports['fields']=function(_0x1b12be){var _0xe4d378=null;if(_0x1b12be){_0xe4d378=_0x1b12be[_0x2cd1('0xa')](',');}return _0xe4d378;};exports[_0x2cd1('0xb')]=function(_0x3be47a,_0x4c7808){var _0x265773={};if(!_['isEmpty'](_0x3be47a)){_[_0x2cd1('0xc')](_0x3be47a,function(_0x37d0b2,_0x4c17ab){try{if(_0x4c7808){var _0x31b299=_[_0x2cd1('0xd')](_0x4c7808,{'name':_0x4c17ab})||{};if(hasSequelizeOperator(_0x37d0b2)){_0x265773[_0x4c17ab]=getOperatorValue(_0x37d0b2);}else if(_0x31b299['type']===_0x2cd1('0xe')&&_[_0x2cd1('0xf')](_0x37d0b2)){var _0x41c57c=JSON[_0x2cd1('0x5')](_0x37d0b2);var _0x380705={'$gte':moment(moment(_0x41c57c[_0x2cd1('0x10')])[_0x2cd1('0x11')](_0x2cd1('0x12')))[_0x2cd1('0x13')]()[_0x2cd1('0x11')](),'$lte':moment(moment(_0x41c57c[_0x2cd1('0x14')])[_0x2cd1('0x11')]('YYYY-MM-DD'))[_0x2cd1('0x13')]()[_0x2cd1('0x15')](0x1,'s')[_0x2cd1('0x11')]()};_0x265773[_0x4c17ab]=_0x380705;}else if(_0x31b299[_0x2cd1('0x16')]===_0x2cd1('0x17')){_0x265773[_0x4c17ab]=_0x37d0b2;}else{_0x265773[_0x4c17ab]=_[_0x2cd1('0x18')](_0x37d0b2)?_0x37d0b2:JSON[_0x2cd1('0x5')](_0x37d0b2);}}else{_0x265773[_0x4c17ab]=_[_0x2cd1('0x18')](_0x37d0b2)?_0x37d0b2:JSON['parse'](_0x37d0b2);}}catch(_0xd5ecc1){_0x265773[_0x4c17ab]=_0x37d0b2[_0x2cd1('0xa')](',');}});}return _0x265773;};exports[_0x2cd1('0x19')]=function(_0x3efd04){_0x3efd04=parseInt(_0x3efd04,0xa);if(!_0x3efd04||_0x3efd04<0x0){_0x3efd04=LIMIT_VALUE;}return _0x3efd04;};exports[_0x2cd1('0x1a')]=function(_0x2bc058){_0x2bc058=parseInt(_0x2bc058,0xa);if(!_0x2bc058||_0x2bc058<0x0){_0x2bc058=0x0;}return _0x2bc058;};exports[_0x2cd1('0x1b')]=function(_0x4f7710){var _0x12087a,_0x41267f=null;if(_0x4f7710){_0x12087a=_0x4f7710[_0x2cd1('0xa')](',');_0x41267f=_[_0x2cd1('0x1c')](_0x12087a,function(_0x49b02f){if(_0x49b02f[_0x2cd1('0x1d')]('-')===0x0){return[_0x49b02f===_0x2cd1('0x1e')?sequelize[_0x2cd1('0x1f')](sequelize['col'](_0x2cd1('0x1e')),_0x2cd1('0x20')):_0x49b02f['substr'](0x1),_0x2cd1('0x21')];}else{return[_0x49b02f===_0x2cd1('0x1e')?sequelize[_0x2cd1('0x1f')](sequelize['col'](_0x2cd1('0x1e')),_0x2cd1('0x20')):_0x49b02f,_0x2cd1('0x22')];}});}return _0x41267f;};exports[_0x2cd1('0x23')]=function(_0x19e8c0,_0x22c4f5){if(_[_0x2cd1('0x24')](_0x19e8c0)){return _0x19e8c0;}if(_[_0x2cd1('0x18')](_0x19e8c0)){for(var _0x5002d8=0x0;_0x5002d8<_0x19e8c0['length'];_0x5002d8+=0x1){_0x19e8c0[_0x5002d8]=this[_0x2cd1('0x23')](_0x19e8c0[_0x5002d8],_0x22c4f5);}return _0x19e8c0;}if(!_[_0x2cd1('0x25')](_0x19e8c0)){return _0x19e8c0;}if(_[_0x2cd1('0x26')](_0x22c4f5)){_0x22c4f5=[_0x22c4f5];}if(!_[_0x2cd1('0x18')](_0x22c4f5)){return _0x19e8c0;}for(var _0x32fa8d=0x0;_0x32fa8d<_0x22c4f5['length'];_0x32fa8d+=0x1){_[_0x2cd1('0x27')](_0x19e8c0,_0x22c4f5[_0x32fa8d]);}for(var _0x4f745b in _0x19e8c0){if(_0x19e8c0[_0x2cd1('0x28')](_0x4f745b)){_0x19e8c0[_0x4f745b]=this[_0x2cd1('0x23')](_0x19e8c0[_0x4f745b],_0x22c4f5);}}return _0x19e8c0;};exports['isNumeric']=function(_0xf74535){return _0xf74535['match'](RegExp(_0x2cd1('0x29')))?!![]:![];};exports['isEmail']=function(_0x1bcf58){return _0x1bcf58[_0x2cd1('0x2a')](/^\S+@\S+$/)?!![]:![];};exports[_0x2cd1('0x2b')]=function(_0x30ecab,_0x4b497a){var _0x52dad2=[];var _0x1698bf=/([^:]")"+/g;var _0x3a0631=/[*<>~@-]/g;var _0x386b19=/[ `!@#$%^&*()_\-?~<>]/;var _0x3735fe=/[ ,]+/;var _0x305f11=_0x4b497a?'\x22{EXPR}\x22':_0x2cd1('0x2c');if(_0x4b497a){_0x30ecab=_0x30ecab['replace'](_0x3a0631,'\x20')[_0x2cd1('0x2d')]();}_0x30ecab[_0x2cd1('0xa')](_0x3735fe)[_0x2cd1('0x2e')](function(_0x43458b){_0x43458b=_0x43458b['replace'](_0x1698bf,'$1');_0x43458b='+'+_0x43458b+'*';var _0x36be11=_0x43458b['match'](_0x386b19);if(_0x36be11){_0x43458b='\x22'+_0x43458b+'\x22';}_0x52dad2[_0x2cd1('0x2f')](_0x43458b);});_0x305f11=_0x305f11[_0x2cd1('0x30')](_0x2cd1('0x2c'),_0x52dad2[_0x2cd1('0x31')]('\x20'));return _0x305f11;};exports[_0x2cd1('0x32')]=function(_0x1e12ae,_0x3677d7,_0x512b66){var _0x4ec155={},_0x142b33={};if(_0x3677d7['query'][_0x2cd1('0x33')]){_0x3677d7[_0x2cd1('0x34')]['id']=_0x3677d7[_0x2cd1('0x34')]['$id'];delete _0x3677d7[_0x2cd1('0x34')]['$id'];}_0x4ec155['model']=_[_0x2cd1('0x1c')](_0x1e12ae,_0x2cd1('0x16'));_0x4ec155[_0x2cd1('0x34')]=_[_0x2cd1('0x3')](_0x3677d7['query']);_0x4ec155[_0x2cd1('0xb')]=_[_0x2cd1('0x35')](_0x4ec155['model'],_0x4ec155[_0x2cd1('0x34')]);_0x142b33[_0x2cd1('0x36')]=_[_0x2cd1('0x35')](_0x4ec155[_0x2cd1('0x6')],this[_0x2cd1('0x8')](_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x8')]));_0x142b33[_0x2cd1('0x36')]=_0x142b33[_0x2cd1('0x36')][_0x2cd1('0x37')]?_0x142b33[_0x2cd1('0x36')]:_0x4ec155[_0x2cd1('0x6')];if(!_0x3677d7[_0x2cd1('0x34')]['hasOwnProperty'](_0x2cd1('0x38'))){_0x142b33[_0x2cd1('0x19')]=this['limit'](_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x19')]);_0x142b33['offset']=this[_0x2cd1('0x1a')](_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x1a')]);}_0x142b33['order']=this['sort'](_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x1b')]);_0x142b33[_0x2cd1('0x39')]=this[_0x2cd1('0xb')](_[_0x2cd1('0x3a')](_0x3677d7[_0x2cd1('0x34')],_0x4ec155[_0x2cd1('0xb')]),_0x1e12ae);if(_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x3b')]){var _0xce882a=_0x1e12ae;var _0x5631c9=_0x3677d7[_0x2cd1('0x34')]['filter'];if(typeof _0x5631c9==='object'){_0xce882a=_[_0x2cd1('0x3b')](_0x1e12ae,function(_0x15b5b0){return _[_0x2cd1('0x4')](_0x5631c9[_0x2cd1('0x3c')],_0x15b5b0[_0x2cd1('0x16')]);});_0x5631c9=_0x5631c9[_0x2cd1('0x3d')];}_0x142b33['where']=_[_0x2cd1('0x3e')](_0x142b33['where'],{'$or':_['map'](_0xce882a,function(_0x63fca5){if(_0x63fca5[_0x2cd1('0x3f')]!==_0x2cd1('0x40')){if(_0x512b66){return sequelize['where'](sequelize['fn']('lower',sequelize['col'](_0x63fca5['name'])),{'$like':sequelize['fn'](_0x2cd1('0x41'),'%'+_0x3677d7[_0x2cd1('0x34')][_0x2cd1('0x3b')]+'%')});}else{var _0x33c91d={};_0x33c91d[_0x63fca5[_0x2cd1('0x16')]]={'$like':'%'+_0x3677d7[_0x2cd1('0x34')]['filter']+'%'};return _0x33c91d;}}})});}_0x142b33=_[_0x2cd1('0x3e')]({},_0x142b33,_0x3677d7[_0x2cd1('0x42')]);return _0x142b33;};exports[_0x2cd1('0x43')]=function(_0xb32413){var _0x5f1c5e=[];if(_0xb32413['includeAll']){_0x5f1c5e[_0x2cd1('0x2f')]({'all':!![]});}else if(_0xb32413[_0x2cd1('0x43')]){if(Array[_0x2cd1('0x18')](_0xb32413[_0x2cd1('0x43')])){_0x5f1c5e=Object[_0x2cd1('0x3')](_0xb32413[_0x2cd1('0x43')])[_0x2cd1('0x1c')](function(_0x5d93e1){return parseIncludeModel(_0xb32413[_0x2cd1('0x43')][_0x5d93e1]);});}else{var _0x4cd675=parseIncludeModel(_0xb32413['include']);_0x5f1c5e['push'](_0x4cd675);}}return _0x5f1c5e;};exports[_0x2cd1('0x44')]=function(_0x47058c){return _0x47058c[_0x2cd1('0x30')](/[%_^-]/g,function(_0x3589b5){return'\x5c'+_0x3589b5;});};