Built motion from commit 06eb8eb0.|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 _0x5c73=['forEach','push','{EXPR}','join','getOptions','query','$id','intersection','attributes','offset','order','where','pick','filter','object','columns','value','lower','merge','options','include','escapeLIKESpecialChars','lodash','sequelize','moment','../../mysqldb','parse','keys','includes','model','alias','fields','raw','split','filters','isEmpty','forOwn','find','type','DATE','$gte','format','YYYY-MM-DD','utc','$lte','subtract','name','uniqueid','isArray','limit','sort','map','indexOf','priority','cast','col','unsigned','substr','ASC','omit','length','isObject','isString','unset','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','isEmail','getFullTextValue','\x22{EXPR}\x22','replace'];(function(_0x52121d,_0x1d1704){var _0x448627=function(_0x495bf0){while(--_0x495bf0){_0x52121d['push'](_0x52121d['shift']());}};_0x448627(++_0x1d1704);}(_0x5c73,0x136));var _0x35c7=function(_0x5aaecd,_0x26c921){_0x5aaecd=_0x5aaecd-0x0;var _0x398dc6=_0x5c73[_0x5aaecd];return _0x398dc6;};'use strict';var _=require(_0x35c7('0x0'));var sequelize=require(_0x35c7('0x1'));var moment=require(_0x35c7('0x2'));var db=require(_0x35c7('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x1b5970){var _0x464f9a=['ne'];try{var _0x475df8=JSON[_0x35c7('0x4')](_0x1b5970);var _0x34cb8a=Object[_0x35c7('0x5')](_0x475df8)[0x0];return _0x464f9a[_0x35c7('0x6')](_0x34cb8a);}catch(_0x1b0fe0){return![];}}function getOperatorValue(_0x525ec8){var _0x5a157f=JSON[_0x35c7('0x4')](_0x525ec8);var _0x4e50cd=Object[_0x35c7('0x5')](_0x5a157f)[0x0];var _0x440102=_0x5a157f[_0x4e50cd];return{['$'+_0x4e50cd]:_0x440102};}function parseIncludeModel(_0x3bccbc){var _0x261b58=JSON[_0x35c7('0x4')](_0x3bccbc);return{'model':db[_0x261b58[_0x35c7('0x7')]],'as':_0x261b58[_0x35c7('0x8')],'attributes':_0x261b58[_0x35c7('0x9')],'raw':_0x261b58[_0x35c7('0xa')]};}exports[_0x35c7('0x9')]=function(_0x39785f){var _0x3cca69=null;if(_0x39785f){_0x3cca69=_0x39785f[_0x35c7('0xb')](',');}return _0x3cca69;};exports[_0x35c7('0xc')]=function(_0x384631,_0x21d07c){var _0x2f7c69={};if(!_[_0x35c7('0xd')](_0x384631)){_[_0x35c7('0xe')](_0x384631,function(_0x57324d,_0x4fd5d8){try{if(_0x21d07c){var _0x184495=_[_0x35c7('0xf')](_0x21d07c,{'name':_0x4fd5d8})||{};if(hasSequelizeOperator(_0x57324d)){_0x2f7c69[_0x4fd5d8]=getOperatorValue(_0x57324d);}else if(_0x184495[_0x35c7('0x10')]===_0x35c7('0x11')&&_['isPlainObject'](_0x57324d)){var _0x170498=JSON[_0x35c7('0x4')](_0x57324d);var _0x345968={'$gte':moment(moment(_0x170498[_0x35c7('0x12')])[_0x35c7('0x13')](_0x35c7('0x14')))[_0x35c7('0x15')]()['format'](),'$lte':moment(moment(_0x170498[_0x35c7('0x16')])[_0x35c7('0x13')](_0x35c7('0x14')))['utc']()[_0x35c7('0x17')](0x1,'s')[_0x35c7('0x13')]()};_0x2f7c69[_0x4fd5d8]=_0x345968;}else if(_0x184495[_0x35c7('0x18')]===_0x35c7('0x19')){_0x2f7c69[_0x4fd5d8]=_0x57324d;}else{_0x2f7c69[_0x4fd5d8]=_[_0x35c7('0x1a')](_0x57324d)?_0x57324d:JSON[_0x35c7('0x4')](_0x57324d);}}else{_0x2f7c69[_0x4fd5d8]=_['isArray'](_0x57324d)?_0x57324d:JSON[_0x35c7('0x4')](_0x57324d);}}catch(_0x203da7){_0x2f7c69[_0x4fd5d8]=_0x57324d[_0x35c7('0xb')](',');}});}return _0x2f7c69;};exports[_0x35c7('0x1b')]=function(_0xecdec3){_0xecdec3=parseInt(_0xecdec3,0xa);if(!_0xecdec3||_0xecdec3<0x0){_0xecdec3=LIMIT_VALUE;}return _0xecdec3;};exports['offset']=function(_0x102499){_0x102499=parseInt(_0x102499,0xa);if(!_0x102499||_0x102499<0x0){_0x102499=0x0;}return _0x102499;};exports[_0x35c7('0x1c')]=function(_0x32ac76){var _0x1a0540,_0x47d6a5=null;if(_0x32ac76){_0x1a0540=_0x32ac76['split'](',');_0x47d6a5=_[_0x35c7('0x1d')](_0x1a0540,function(_0x1fea53){if(_0x1fea53[_0x35c7('0x1e')]('-')===0x0){return[_0x1fea53===_0x35c7('0x1f')?sequelize[_0x35c7('0x20')](sequelize[_0x35c7('0x21')](_0x35c7('0x1f')),_0x35c7('0x22')):_0x1fea53[_0x35c7('0x23')](0x1),'DESC'];}else{return[_0x1fea53==='priority'?sequelize['cast'](sequelize[_0x35c7('0x21')](_0x35c7('0x1f')),'unsigned'):_0x1fea53,_0x35c7('0x24')];}});}return _0x47d6a5;};exports[_0x35c7('0x25')]=function(_0x364c95,_0x23059f){if(_[_0x35c7('0xd')](_0x364c95)){return _0x364c95;}if(_[_0x35c7('0x1a')](_0x364c95)){for(var _0x282401=0x0;_0x282401<_0x364c95[_0x35c7('0x26')];_0x282401+=0x1){_0x364c95[_0x282401]=this[_0x35c7('0x25')](_0x364c95[_0x282401],_0x23059f);}return _0x364c95;}if(!_[_0x35c7('0x27')](_0x364c95)){return _0x364c95;}if(_[_0x35c7('0x28')](_0x23059f)){_0x23059f=[_0x23059f];}if(!_[_0x35c7('0x1a')](_0x23059f)){return _0x364c95;}for(var _0x36304c=0x0;_0x36304c<_0x23059f[_0x35c7('0x26')];_0x36304c+=0x1){_[_0x35c7('0x29')](_0x364c95,_0x23059f[_0x36304c]);}for(var _0x15ce69 in _0x364c95){if(_0x364c95[_0x35c7('0x2a')](_0x15ce69)){_0x364c95[_0x15ce69]=this['omit'](_0x364c95[_0x15ce69],_0x23059f);}}return _0x364c95;};exports[_0x35c7('0x2b')]=function(_0x1c7b1f){return _0x1c7b1f[_0x35c7('0x2c')](RegExp(_0x35c7('0x2d')))?!![]:![];};exports[_0x35c7('0x2e')]=function(_0x99f1ce){return _0x99f1ce[_0x35c7('0x2c')](/^\S+@\S+$/)?!![]:![];};exports[_0x35c7('0x2f')]=function(_0x2bba3a,_0x127230){var _0x5dd4e7=[];var _0x35eb57=/([^:]")"+/g;var _0x3e53c2=/[*<>~@-]/g;var _0x1a07d0=/[ `!@#$%^&*()_\-?~<>]/;var _0x5c7ec4=/[ ,]+/;var _0x2c2afa=_0x127230?_0x35c7('0x30'):'{EXPR}';if(_0x127230){_0x2bba3a=_0x2bba3a[_0x35c7('0x31')](_0x3e53c2,'\x20')['trim']();}_0x2bba3a[_0x35c7('0xb')](_0x5c7ec4)[_0x35c7('0x32')](function(_0x536633){_0x536633=_0x536633['replace'](_0x35eb57,'$1');_0x536633='+'+_0x536633+'*';var _0x5766e3=_0x536633['match'](_0x1a07d0);if(_0x5766e3){_0x536633='\x22'+_0x536633+'\x22';}_0x5dd4e7[_0x35c7('0x33')](_0x536633);});_0x2c2afa=_0x2c2afa['replace'](_0x35c7('0x34'),_0x5dd4e7[_0x35c7('0x35')]('\x20'));return _0x2c2afa;};exports[_0x35c7('0x36')]=function(_0x5859d2,_0xfd25eb,_0x2ed99f){var _0x287913={},_0x56c048={};if(_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x38')]){_0xfd25eb[_0x35c7('0x37')]['id']=_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x38')];delete _0xfd25eb[_0x35c7('0x37')][_0x35c7('0x38')];}_0x287913['model']=_[_0x35c7('0x1d')](_0x5859d2,_0x35c7('0x18'));_0x287913[_0x35c7('0x37')]=_['keys'](_0xfd25eb[_0x35c7('0x37')]);_0x287913['filters']=_[_0x35c7('0x39')](_0x287913[_0x35c7('0x7')],_0x287913[_0x35c7('0x37')]);_0x56c048[_0x35c7('0x3a')]=_[_0x35c7('0x39')](_0x287913[_0x35c7('0x7')],this[_0x35c7('0x9')](_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x9')]));_0x56c048['attributes']=_0x56c048[_0x35c7('0x3a')]['length']?_0x56c048[_0x35c7('0x3a')]:_0x287913[_0x35c7('0x7')];if(!_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x2a')]('nolimit')){_0x56c048[_0x35c7('0x1b')]=this[_0x35c7('0x1b')](_0xfd25eb['query'][_0x35c7('0x1b')]);_0x56c048[_0x35c7('0x3b')]=this[_0x35c7('0x3b')](_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x3b')]);}_0x56c048[_0x35c7('0x3c')]=this[_0x35c7('0x1c')](_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x1c')]);_0x56c048[_0x35c7('0x3d')]=this[_0x35c7('0xc')](_[_0x35c7('0x3e')](_0xfd25eb[_0x35c7('0x37')],_0x287913[_0x35c7('0xc')]),_0x5859d2);if(_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x3f')]){var _0xf56e5c=_0x5859d2;var _0x484def=_0xfd25eb[_0x35c7('0x37')][_0x35c7('0x3f')];if(typeof _0x484def===_0x35c7('0x40')){_0xf56e5c=_[_0x35c7('0x3f')](_0x5859d2,function(_0x5a4b6b){return _[_0x35c7('0x6')](_0x484def[_0x35c7('0x41')],_0x5a4b6b[_0x35c7('0x18')]);});_0x484def=_0x484def[_0x35c7('0x42')];}_0x56c048[_0x35c7('0x3d')]=_['merge'](_0x56c048[_0x35c7('0x3d')],{'$or':_[_0x35c7('0x1d')](_0xf56e5c,function(_0x37a383){if(_0x37a383['type']!=='VIRTUAL'){if(_0x2ed99f){return sequelize['where'](sequelize['fn']('lower',sequelize[_0x35c7('0x21')](_0x37a383[_0x35c7('0x18')])),{'$like':sequelize['fn'](_0x35c7('0x43'),'%'+_0xfd25eb[_0x35c7('0x37')]['filter']+'%')});}else{var _0x46d5b0={};_0x46d5b0[_0x37a383[_0x35c7('0x18')]]={'$like':'%'+_0xfd25eb['query']['filter']+'%'};return _0x46d5b0;}}})});}_0x56c048=_[_0x35c7('0x44')]({},_0x56c048,_0xfd25eb[_0x35c7('0x45')]);return _0x56c048;};exports['include']=function(_0x3b5183){var _0x4c51a0=[];if(_0x3b5183['includeAll']){_0x4c51a0[_0x35c7('0x33')]({'all':!![]});}else if(_0x3b5183['include']){if(Array[_0x35c7('0x1a')](_0x3b5183[_0x35c7('0x46')])){_0x4c51a0=Object[_0x35c7('0x5')](_0x3b5183[_0x35c7('0x46')])[_0x35c7('0x1d')](function(_0x47317c){return parseIncludeModel(_0x3b5183[_0x35c7('0x46')][_0x47317c]);});}else{var _0x49f0ec=parseIncludeModel(_0x3b5183[_0x35c7('0x46')]);_0x4c51a0[_0x35c7('0x33')](_0x49f0ec);}}return _0x4c51a0;};exports[_0x35c7('0x47')]=function(_0x4c2dcf){return _0x4c2dcf['replace'](/[%_^-]/g,function(_0x2d62d9){return'\x5c'+_0x2d62d9;});};