Built motion from commit d1eab355.|2.6.28
[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 _0xe469=['model','alias','fields','raw','split','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','format','utc','$lte','YYYY-MM-DD','subtract','name','uniqueid','isArray','limit','sort','map','priority','col','unsigned','substr','DESC','cast','omit','isString','length','unset','hasOwnProperty','isNumeric','^[+]?[0-9]*$','isEmail','match','getFullTextValue','\x22{EXPR}\x22','{EXPR}','replace','push','join','getOptions','$id','query','intersection','attributes','nolimit','offset','order','where','filter','object','merge','VIRTUAL','lower','options','include','includeAll','lodash','sequelize','moment','../../mysqldb','parse','keys'];(function(_0x5c49b6,_0x548592){var _0x2f65de=function(_0x37d349){while(--_0x37d349){_0x5c49b6['push'](_0x5c49b6['shift']());}};_0x2f65de(++_0x548592);}(_0xe469,0x1d6));var _0x9e46=function(_0x40dc85,_0x14e2b5){_0x40dc85=_0x40dc85-0x0;var _0x5e9047=_0xe469[_0x40dc85];return _0x5e9047;};'use strict';var _=require(_0x9e46('0x0'));var sequelize=require(_0x9e46('0x1'));var moment=require(_0x9e46('0x2'));var db=require(_0x9e46('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x521d2b){var _0x1fb2fd=['ne'];try{var _0x3ef21e=JSON[_0x9e46('0x4')](_0x521d2b);var _0x4bbf89=Object[_0x9e46('0x5')](_0x3ef21e)[0x0];return _0x1fb2fd['includes'](_0x4bbf89);}catch(_0x483e99){return![];}}function getOperatorValue(_0x577af8){var _0x1be16e=JSON[_0x9e46('0x4')](_0x577af8);var _0x5e700b=Object['keys'](_0x1be16e)[0x0];var _0x130488=_0x1be16e[_0x5e700b];return{['$'+_0x5e700b]:_0x130488};}function parseIncludeModel(_0x529db2){var _0x163643=JSON[_0x9e46('0x4')](_0x529db2);return{'model':db[_0x163643[_0x9e46('0x6')]],'as':_0x163643[_0x9e46('0x7')],'attributes':_0x163643[_0x9e46('0x8')],'raw':_0x163643[_0x9e46('0x9')]};}exports[_0x9e46('0x8')]=function(_0x403a82){var _0x2a12b3=null;if(_0x403a82){_0x2a12b3=_0x403a82[_0x9e46('0xa')](',');}return _0x2a12b3;};exports[_0x9e46('0xb')]=function(_0x332ca8,_0x29f2b3){var _0x38d7e8={};if(!_[_0x9e46('0xc')](_0x332ca8)){_[_0x9e46('0xd')](_0x332ca8,function(_0x2d13e6,_0x11c142){try{if(_0x29f2b3){var _0x2a8aa6=_[_0x9e46('0xe')](_0x29f2b3,{'name':_0x11c142})||{};if(hasSequelizeOperator(_0x2d13e6)){_0x38d7e8[_0x11c142]=getOperatorValue(_0x2d13e6);}else if(_0x2a8aa6[_0x9e46('0xf')]===_0x9e46('0x10')&&_[_0x9e46('0x11')](_0x2d13e6)){var _0x289cda=JSON['parse'](_0x2d13e6);var _0x326fde={'$gte':moment(moment(_0x289cda[_0x9e46('0x12')])[_0x9e46('0x13')]('YYYY-MM-DD'))[_0x9e46('0x14')]()[_0x9e46('0x13')](),'$lte':moment(moment(_0x289cda[_0x9e46('0x15')])[_0x9e46('0x13')](_0x9e46('0x16')))[_0x9e46('0x14')]()[_0x9e46('0x17')](0x1,'s')[_0x9e46('0x13')]()};_0x38d7e8[_0x11c142]=_0x326fde;}else if(_0x2a8aa6[_0x9e46('0x18')]===_0x9e46('0x19')){_0x38d7e8[_0x11c142]=_0x2d13e6;}else{_0x38d7e8[_0x11c142]=_[_0x9e46('0x1a')](_0x2d13e6)?_0x2d13e6:JSON[_0x9e46('0x4')](_0x2d13e6);}}else{_0x38d7e8[_0x11c142]=_['isArray'](_0x2d13e6)?_0x2d13e6:JSON[_0x9e46('0x4')](_0x2d13e6);}}catch(_0x207711){_0x38d7e8[_0x11c142]=_0x2d13e6[_0x9e46('0xa')](',');}});}return _0x38d7e8;};exports[_0x9e46('0x1b')]=function(_0x582257){_0x582257=parseInt(_0x582257,0xa);if(!_0x582257||_0x582257<0x0){_0x582257=LIMIT_VALUE;}return _0x582257;};exports['offset']=function(_0xf29b94){_0xf29b94=parseInt(_0xf29b94,0xa);if(!_0xf29b94||_0xf29b94<0x0){_0xf29b94=0x0;}return _0xf29b94;};exports[_0x9e46('0x1c')]=function(_0x5a888b){var _0x4dfd1f,_0x143a86=null;if(_0x5a888b){_0x4dfd1f=_0x5a888b[_0x9e46('0xa')](',');_0x143a86=_[_0x9e46('0x1d')](_0x4dfd1f,function(_0x48d426){if(_0x48d426['indexOf']('-')===0x0){return[_0x48d426===_0x9e46('0x1e')?sequelize['cast'](sequelize[_0x9e46('0x1f')](_0x9e46('0x1e')),_0x9e46('0x20')):_0x48d426[_0x9e46('0x21')](0x1),_0x9e46('0x22')];}else{return[_0x48d426===_0x9e46('0x1e')?sequelize[_0x9e46('0x23')](sequelize['col'](_0x9e46('0x1e')),_0x9e46('0x20')):_0x48d426,'ASC'];}});}return _0x143a86;};exports[_0x9e46('0x24')]=function(_0x4b70b7,_0x40d871){if(_['isEmpty'](_0x4b70b7)){return _0x4b70b7;}if(_['isArray'](_0x4b70b7)){for(var _0x13c0f3=0x0;_0x13c0f3<_0x4b70b7['length'];_0x13c0f3+=0x1){_0x4b70b7[_0x13c0f3]=this[_0x9e46('0x24')](_0x4b70b7[_0x13c0f3],_0x40d871);}return _0x4b70b7;}if(!_['isObject'](_0x4b70b7)){return _0x4b70b7;}if(_[_0x9e46('0x25')](_0x40d871)){_0x40d871=[_0x40d871];}if(!_[_0x9e46('0x1a')](_0x40d871)){return _0x4b70b7;}for(var _0x454005=0x0;_0x454005<_0x40d871[_0x9e46('0x26')];_0x454005+=0x1){_[_0x9e46('0x27')](_0x4b70b7,_0x40d871[_0x454005]);}for(var _0xbf7f6a in _0x4b70b7){if(_0x4b70b7[_0x9e46('0x28')](_0xbf7f6a)){_0x4b70b7[_0xbf7f6a]=this['omit'](_0x4b70b7[_0xbf7f6a],_0x40d871);}}return _0x4b70b7;};exports[_0x9e46('0x29')]=function(_0x13859f){return _0x13859f['match'](RegExp(_0x9e46('0x2a')))?!![]:![];};exports[_0x9e46('0x2b')]=function(_0x1f04a6){return _0x1f04a6[_0x9e46('0x2c')](/^\S+@\S+$/)?!![]:![];};exports[_0x9e46('0x2d')]=function(_0x2eb9ca,_0x2b4d49){var _0x506264=[];var _0x3066b6=/[ `!@#$%^&*()_\-?~]/;var _0x3e0c4f=_0x2b4d49?_0x9e46('0x2e'):_0x9e46('0x2f');_0x2eb9ca['split'](/[ ,]+/)['forEach'](function(_0x578b3e){_0x578b3e=_0x578b3e[_0x9e46('0x30')](/([^:]")"+/g,'$1');_0x578b3e='+'+_0x578b3e+'*';var _0x1d1947=_0x578b3e['match'](_0x3066b6);if(_0x1d1947){_0x578b3e='\x22'+_0x578b3e+'\x22';}_0x506264[_0x9e46('0x31')](_0x578b3e);});_0x3e0c4f=_0x3e0c4f[_0x9e46('0x30')]('{EXPR}',_0x506264[_0x9e46('0x32')]('\x20'));return _0x3e0c4f;};exports[_0x9e46('0x33')]=function(_0x4288b7,_0x59f5c4,_0x5b406d){var _0x1bf0e1={},_0x30572d={};if(_0x59f5c4['query'][_0x9e46('0x34')]){_0x59f5c4[_0x9e46('0x35')]['id']=_0x59f5c4[_0x9e46('0x35')]['$id'];delete _0x59f5c4[_0x9e46('0x35')][_0x9e46('0x34')];}_0x1bf0e1[_0x9e46('0x6')]=_[_0x9e46('0x1d')](_0x4288b7,_0x9e46('0x18'));_0x1bf0e1['query']=_[_0x9e46('0x5')](_0x59f5c4['query']);_0x1bf0e1['filters']=_[_0x9e46('0x36')](_0x1bf0e1['model'],_0x1bf0e1[_0x9e46('0x35')]);_0x30572d['attributes']=_[_0x9e46('0x36')](_0x1bf0e1[_0x9e46('0x6')],this['fields'](_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x8')]));_0x30572d['attributes']=_0x30572d[_0x9e46('0x37')][_0x9e46('0x26')]?_0x30572d[_0x9e46('0x37')]:_0x1bf0e1[_0x9e46('0x6')];if(!_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x28')](_0x9e46('0x38'))){_0x30572d[_0x9e46('0x1b')]=this[_0x9e46('0x1b')](_0x59f5c4[_0x9e46('0x35')]['limit']);_0x30572d[_0x9e46('0x39')]=this['offset'](_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x39')]);}_0x30572d[_0x9e46('0x3a')]=this[_0x9e46('0x1c')](_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x1c')]);_0x30572d[_0x9e46('0x3b')]=this[_0x9e46('0xb')](_['pick'](_0x59f5c4[_0x9e46('0x35')],_0x1bf0e1['filters']),_0x4288b7);if(_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x3c')]){var _0x181f46=_0x4288b7;var _0x43abad=_0x59f5c4['query'][_0x9e46('0x3c')];if(typeof _0x43abad===_0x9e46('0x3d')){_0x181f46=_['filter'](_0x4288b7,function(_0x28cf35){return _['includes'](_0x43abad['columns'],_0x28cf35['name']);});_0x43abad=_0x43abad['value'];}_0x30572d['where']=_[_0x9e46('0x3e')](_0x30572d[_0x9e46('0x3b')],{'$or':_[_0x9e46('0x1d')](_0x181f46,function(_0x3e77e0){if(_0x3e77e0[_0x9e46('0xf')]!==_0x9e46('0x3f')){if(_0x5b406d){return sequelize['where'](sequelize['fn'](_0x9e46('0x40'),sequelize[_0x9e46('0x1f')](_0x3e77e0[_0x9e46('0x18')])),{'$like':sequelize['fn'](_0x9e46('0x40'),'%'+_0x59f5c4[_0x9e46('0x35')]['filter']+'%')});}else{var _0x50129d={};_0x50129d[_0x3e77e0[_0x9e46('0x18')]]={'$like':'%'+_0x59f5c4[_0x9e46('0x35')][_0x9e46('0x3c')]+'%'};return _0x50129d;}}})});}_0x30572d=_[_0x9e46('0x3e')]({},_0x30572d,_0x59f5c4[_0x9e46('0x41')]);return _0x30572d;};exports[_0x9e46('0x42')]=function(_0x4ca156){var _0x95a1c=[];if(_0x4ca156[_0x9e46('0x43')]){_0x95a1c[_0x9e46('0x31')]({'all':!![]});}else if(_0x4ca156['include']){if(Array[_0x9e46('0x1a')](_0x4ca156['include'])){_0x95a1c=Object[_0x9e46('0x5')](_0x4ca156[_0x9e46('0x42')])[_0x9e46('0x1d')](function(_0x3561c8){return parseIncludeModel(_0x4ca156[_0x9e46('0x42')][_0x3561c8]);});}else{var _0x2864d2=parseIncludeModel(_0x4ca156['include']);_0x95a1c[_0x9e46('0x31')](_0x2864d2);}}return _0x95a1c;};