Built motion from commit 5293bb2a.|2.6.30
[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 _0x6e71=['priority','col','unsigned','ASC','omit','isObject','isString','length','unset','hasOwnProperty','isNumeric','getFullTextValue','{EXPR}','replace','trim','forEach','match','push','join','getOptions','query','$id','model','intersection','attributes','nolimit','where','pick','filter','columns','merge','lower','options','include','includeAll','escapeLIKESpecialChars','lodash','sequelize','moment','../../mysqldb','keys','includes','parse','alias','fields','raw','split','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','format','YYYY-MM-DD','utc','$lte','subtract','name','uniqueid','isArray','limit','offset','sort','map'];(function(_0x13ed69,_0x229161){var _0x50c72e=function(_0x4f1491){while(--_0x4f1491){_0x13ed69['push'](_0x13ed69['shift']());}};_0x50c72e(++_0x229161);}(_0x6e71,0x67));var _0x16e7=function(_0x37f20f,_0x321935){_0x37f20f=_0x37f20f-0x0;var _0x3639dd=_0x6e71[_0x37f20f];return _0x3639dd;};'use strict';var _=require(_0x16e7('0x0'));var sequelize=require(_0x16e7('0x1'));var moment=require(_0x16e7('0x2'));var db=require(_0x16e7('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x123845){var _0x119387=['ne'];try{var _0x217548=JSON['parse'](_0x123845);var _0xc756f5=Object[_0x16e7('0x4')](_0x217548)[0x0];return _0x119387[_0x16e7('0x5')](_0xc756f5);}catch(_0x4a51fa){return![];}}function getOperatorValue(_0x136f56){var _0x5656d8=JSON[_0x16e7('0x6')](_0x136f56);var _0x312846=Object[_0x16e7('0x4')](_0x5656d8)[0x0];var _0x5749f5=_0x5656d8[_0x312846];return{['$'+_0x312846]:_0x5749f5};}function parseIncludeModel(_0x146575){var _0x4e3cf3=JSON['parse'](_0x146575);return{'model':db[_0x4e3cf3['model']],'as':_0x4e3cf3[_0x16e7('0x7')],'attributes':_0x4e3cf3[_0x16e7('0x8')],'raw':_0x4e3cf3[_0x16e7('0x9')]};}exports[_0x16e7('0x8')]=function(_0x4f49a3){var _0x43a809=null;if(_0x4f49a3){_0x43a809=_0x4f49a3[_0x16e7('0xa')](',');}return _0x43a809;};exports[_0x16e7('0xb')]=function(_0x20ceec,_0x287bec){var _0x41c120={};if(!_[_0x16e7('0xc')](_0x20ceec)){_[_0x16e7('0xd')](_0x20ceec,function(_0x35173a,_0x5796c3){try{if(_0x287bec){var _0x481c56=_[_0x16e7('0xe')](_0x287bec,{'name':_0x5796c3})||{};if(hasSequelizeOperator(_0x35173a)){_0x41c120[_0x5796c3]=getOperatorValue(_0x35173a);}else if(_0x481c56[_0x16e7('0xf')]===_0x16e7('0x10')&&_[_0x16e7('0x11')](_0x35173a)){var _0x2e2af7=JSON[_0x16e7('0x6')](_0x35173a);var _0x49cf2e={'$gte':moment(moment(_0x2e2af7[_0x16e7('0x12')])[_0x16e7('0x13')](_0x16e7('0x14')))[_0x16e7('0x15')]()[_0x16e7('0x13')](),'$lte':moment(moment(_0x2e2af7[_0x16e7('0x16')])[_0x16e7('0x13')]('YYYY-MM-DD'))[_0x16e7('0x15')]()[_0x16e7('0x17')](0x1,'s')[_0x16e7('0x13')]()};_0x41c120[_0x5796c3]=_0x49cf2e;}else if(_0x481c56[_0x16e7('0x18')]===_0x16e7('0x19')){_0x41c120[_0x5796c3]=_0x35173a;}else{_0x41c120[_0x5796c3]=_['isArray'](_0x35173a)?_0x35173a:JSON[_0x16e7('0x6')](_0x35173a);}}else{_0x41c120[_0x5796c3]=_[_0x16e7('0x1a')](_0x35173a)?_0x35173a:JSON[_0x16e7('0x6')](_0x35173a);}}catch(_0x18194c){_0x41c120[_0x5796c3]=_0x35173a[_0x16e7('0xa')](',');}});}return _0x41c120;};exports[_0x16e7('0x1b')]=function(_0x636a64){_0x636a64=parseInt(_0x636a64,0xa);if(!_0x636a64||_0x636a64<0x0){_0x636a64=LIMIT_VALUE;}return _0x636a64;};exports[_0x16e7('0x1c')]=function(_0x35f7b1){_0x35f7b1=parseInt(_0x35f7b1,0xa);if(!_0x35f7b1||_0x35f7b1<0x0){_0x35f7b1=0x0;}return _0x35f7b1;};exports[_0x16e7('0x1d')]=function(_0x124ebb){var _0x16274b,_0xdc9969=null;if(_0x124ebb){_0x16274b=_0x124ebb[_0x16e7('0xa')](',');_0xdc9969=_[_0x16e7('0x1e')](_0x16274b,function(_0x1cc8b2){if(_0x1cc8b2['indexOf']('-')===0x0){return[_0x1cc8b2===_0x16e7('0x1f')?sequelize['cast'](sequelize[_0x16e7('0x20')](_0x16e7('0x1f')),_0x16e7('0x21')):_0x1cc8b2['substr'](0x1),'DESC'];}else{return[_0x1cc8b2===_0x16e7('0x1f')?sequelize['cast'](sequelize[_0x16e7('0x20')]('priority'),_0x16e7('0x21')):_0x1cc8b2,_0x16e7('0x22')];}});}return _0xdc9969;};exports[_0x16e7('0x23')]=function(_0x2358d2,_0x4b118a){if(_[_0x16e7('0xc')](_0x2358d2)){return _0x2358d2;}if(_['isArray'](_0x2358d2)){for(var _0x315677=0x0;_0x315677<_0x2358d2['length'];_0x315677+=0x1){_0x2358d2[_0x315677]=this[_0x16e7('0x23')](_0x2358d2[_0x315677],_0x4b118a);}return _0x2358d2;}if(!_[_0x16e7('0x24')](_0x2358d2)){return _0x2358d2;}if(_[_0x16e7('0x25')](_0x4b118a)){_0x4b118a=[_0x4b118a];}if(!_[_0x16e7('0x1a')](_0x4b118a)){return _0x2358d2;}for(var _0x1177fd=0x0;_0x1177fd<_0x4b118a[_0x16e7('0x26')];_0x1177fd+=0x1){_[_0x16e7('0x27')](_0x2358d2,_0x4b118a[_0x1177fd]);}for(var _0x1df0a0 in _0x2358d2){if(_0x2358d2[_0x16e7('0x28')](_0x1df0a0)){_0x2358d2[_0x1df0a0]=this[_0x16e7('0x23')](_0x2358d2[_0x1df0a0],_0x4b118a);}}return _0x2358d2;};exports[_0x16e7('0x29')]=function(_0x5d2791){return _0x5d2791['match'](RegExp('^[+]?[0-9]*$'))?!![]:![];};exports['isEmail']=function(_0x2f0aa0){return _0x2f0aa0['match'](/^\S+@\S+$/)?!![]:![];};exports[_0x16e7('0x2a')]=function(_0x52d507,_0x71b9eb){var _0x108e1f=[];var _0x475caa=/([^:]")"+/g;var _0x455728=/[*<>~@-]/g;var _0x323a25=/[ `!@#$%^&*()_\-?~<>]/;var _0x14a41c=/[ ,]+/;var _0x3d570e=_0x71b9eb?'\x22{EXPR}\x22':_0x16e7('0x2b');if(_0x71b9eb){_0x52d507=_0x52d507[_0x16e7('0x2c')](_0x455728,'\x20')[_0x16e7('0x2d')]();}_0x52d507[_0x16e7('0xa')](_0x14a41c)[_0x16e7('0x2e')](function(_0x4f0a96){_0x4f0a96=_0x4f0a96[_0x16e7('0x2c')](_0x475caa,'$1');_0x4f0a96='+'+_0x4f0a96+'*';var _0x2b6d09=_0x4f0a96[_0x16e7('0x2f')](_0x323a25);if(_0x2b6d09){_0x4f0a96='\x22'+_0x4f0a96+'\x22';}_0x108e1f[_0x16e7('0x30')](_0x4f0a96);});_0x3d570e=_0x3d570e[_0x16e7('0x2c')](_0x16e7('0x2b'),_0x108e1f[_0x16e7('0x31')]('\x20'));return _0x3d570e;};exports[_0x16e7('0x32')]=function(_0x38af57,_0x33e3c6,_0x533d37){var _0x29c3c4={},_0x4f7caf={};if(_0x33e3c6['query']['$id']){_0x33e3c6['query']['id']=_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x34')];delete _0x33e3c6['query']['$id'];}_0x29c3c4[_0x16e7('0x35')]=_[_0x16e7('0x1e')](_0x38af57,'name');_0x29c3c4['query']=_[_0x16e7('0x4')](_0x33e3c6[_0x16e7('0x33')]);_0x29c3c4[_0x16e7('0xb')]=_[_0x16e7('0x36')](_0x29c3c4['model'],_0x29c3c4['query']);_0x4f7caf[_0x16e7('0x37')]=_[_0x16e7('0x36')](_0x29c3c4[_0x16e7('0x35')],this[_0x16e7('0x8')](_0x33e3c6['query'][_0x16e7('0x8')]));_0x4f7caf['attributes']=_0x4f7caf[_0x16e7('0x37')][_0x16e7('0x26')]?_0x4f7caf[_0x16e7('0x37')]:_0x29c3c4['model'];if(!_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x28')](_0x16e7('0x38'))){_0x4f7caf[_0x16e7('0x1b')]=this[_0x16e7('0x1b')](_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x1b')]);_0x4f7caf['offset']=this[_0x16e7('0x1c')](_0x33e3c6[_0x16e7('0x33')]['offset']);}_0x4f7caf['order']=this[_0x16e7('0x1d')](_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x1d')]);_0x4f7caf[_0x16e7('0x39')]=this['filters'](_[_0x16e7('0x3a')](_0x33e3c6[_0x16e7('0x33')],_0x29c3c4[_0x16e7('0xb')]),_0x38af57);if(_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x3b')]){var _0x36590a=_0x38af57;var _0xc09390=_0x33e3c6[_0x16e7('0x33')]['filter'];if(typeof _0xc09390==='object'){_0x36590a=_[_0x16e7('0x3b')](_0x38af57,function(_0x51183e){return _['includes'](_0xc09390[_0x16e7('0x3c')],_0x51183e[_0x16e7('0x18')]);});_0xc09390=_0xc09390['value'];}_0x4f7caf[_0x16e7('0x39')]=_[_0x16e7('0x3d')](_0x4f7caf['where'],{'$or':_[_0x16e7('0x1e')](_0x36590a,function(_0x516902){if(_0x516902['type']!=='VIRTUAL'){if(_0x533d37){return sequelize[_0x16e7('0x39')](sequelize['fn']('lower',sequelize[_0x16e7('0x20')](_0x516902[_0x16e7('0x18')])),{'$like':sequelize['fn'](_0x16e7('0x3e'),'%'+_0x33e3c6['query'][_0x16e7('0x3b')]+'%')});}else{var _0x568bfc={};_0x568bfc[_0x516902[_0x16e7('0x18')]]={'$like':'%'+_0x33e3c6[_0x16e7('0x33')][_0x16e7('0x3b')]+'%'};return _0x568bfc;}}})});}_0x4f7caf=_[_0x16e7('0x3d')]({},_0x4f7caf,_0x33e3c6[_0x16e7('0x3f')]);return _0x4f7caf;};exports[_0x16e7('0x40')]=function(_0x3de70c){var _0x5561ae=[];if(_0x3de70c[_0x16e7('0x41')]){_0x5561ae[_0x16e7('0x30')]({'all':!![]});}else if(_0x3de70c[_0x16e7('0x40')]){if(Array[_0x16e7('0x1a')](_0x3de70c['include'])){_0x5561ae=Object[_0x16e7('0x4')](_0x3de70c[_0x16e7('0x40')])[_0x16e7('0x1e')](function(_0x4c4c1b){return parseIncludeModel(_0x3de70c[_0x16e7('0x40')][_0x4c4c1b]);});}else{var _0x2ba77c=parseIncludeModel(_0x3de70c['include']);_0x5561ae['push'](_0x2ba77c);}}return _0x5561ae;};exports[_0x16e7('0x42')]=function(_0x51a5b3){return _0x51a5b3[_0x16e7('0x2c')](/[%_^-]/g,function(_0xb15320){return'\x5c'+_0xb15320;});};