e5f207008c09739dc6120c46a93abd2e5dc6fc69
[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 _0x7aca=['split','offset','sort','map','indexOf','priority','col','DESC','cast','unsigned','omit','length','isObject','isString','unset','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','\x22{EXPR}\x22','{EXPR}','replace','forEach','push','getOptions','query','$id','model','name','attributes','nolimit','limit','where','filter','columns','value','merge','VIRTUAL','lower','options','include','escapeLIKESpecialChars','lodash','moment','../../mysqldb','parse','keys','alias','fields','raw','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','format','YYYY-MM-DD','utc','$lte','uniqueid','isArray'];(function(_0x24061a,_0x1c9f4d){var _0x82054e=function(_0x2ec346){while(--_0x2ec346){_0x24061a['push'](_0x24061a['shift']());}};_0x82054e(++_0x1c9f4d);}(_0x7aca,0x1ea));var _0xa7ac=function(_0x569d72,_0x415be2){_0x569d72=_0x569d72-0x0;var _0xa891a0=_0x7aca[_0x569d72];return _0xa891a0;};'use strict';var _=require(_0xa7ac('0x0'));var sequelize=require('sequelize');var moment=require(_0xa7ac('0x1'));var db=require(_0xa7ac('0x2'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x2012e7){var _0x1c4859=['ne'];try{var _0x274013=JSON[_0xa7ac('0x3')](_0x2012e7);var _0x112b86=Object[_0xa7ac('0x4')](_0x274013)[0x0];return _0x1c4859['includes'](_0x112b86);}catch(_0x36cd05){return![];}}function getOperatorValue(_0x3fb9d2){var _0x39f5ce=JSON['parse'](_0x3fb9d2);var _0x443d26=Object[_0xa7ac('0x4')](_0x39f5ce)[0x0];var _0x5af0df=_0x39f5ce[_0x443d26];return{['$'+_0x443d26]:_0x5af0df};}function parseIncludeModel(_0x972742){var _0x3017ca=JSON[_0xa7ac('0x3')](_0x972742);return{'model':db[_0x3017ca['model']],'as':_0x3017ca[_0xa7ac('0x5')],'attributes':_0x3017ca[_0xa7ac('0x6')],'raw':_0x3017ca[_0xa7ac('0x7')]};}exports[_0xa7ac('0x6')]=function(_0x5dd18e){var _0x2ab819=null;if(_0x5dd18e){_0x2ab819=_0x5dd18e['split'](',');}return _0x2ab819;};exports[_0xa7ac('0x8')]=function(_0x4047e4,_0x3b0001){var _0x4aca56={};if(!_[_0xa7ac('0x9')](_0x4047e4)){_[_0xa7ac('0xa')](_0x4047e4,function(_0x1fdc15,_0x13b974){try{if(_0x3b0001){var _0x4b21c0=_[_0xa7ac('0xb')](_0x3b0001,{'name':_0x13b974})||{};if(hasSequelizeOperator(_0x1fdc15)){_0x4aca56[_0x13b974]=getOperatorValue(_0x1fdc15);}else if(_0x4b21c0[_0xa7ac('0xc')]===_0xa7ac('0xd')&&_[_0xa7ac('0xe')](_0x1fdc15)){var _0x13e77e=JSON[_0xa7ac('0x3')](_0x1fdc15);var _0x2ab680={'$gte':moment(moment(_0x13e77e[_0xa7ac('0xf')])[_0xa7ac('0x10')](_0xa7ac('0x11')))[_0xa7ac('0x12')]()[_0xa7ac('0x10')](),'$lte':moment(moment(_0x13e77e[_0xa7ac('0x13')])[_0xa7ac('0x10')](_0xa7ac('0x11')))['utc']()['subtract'](0x1,'s')[_0xa7ac('0x10')]()};_0x4aca56[_0x13b974]=_0x2ab680;}else if(_0x4b21c0['name']===_0xa7ac('0x14')){_0x4aca56[_0x13b974]=_0x1fdc15;}else{_0x4aca56[_0x13b974]=_['isArray'](_0x1fdc15)?_0x1fdc15:JSON[_0xa7ac('0x3')](_0x1fdc15);}}else{_0x4aca56[_0x13b974]=_[_0xa7ac('0x15')](_0x1fdc15)?_0x1fdc15:JSON[_0xa7ac('0x3')](_0x1fdc15);}}catch(_0x50fd80){_0x4aca56[_0x13b974]=_0x1fdc15[_0xa7ac('0x16')](',');}});}return _0x4aca56;};exports['limit']=function(_0x409ddb){_0x409ddb=parseInt(_0x409ddb,0xa);if(!_0x409ddb||_0x409ddb<0x0){_0x409ddb=LIMIT_VALUE;}return _0x409ddb;};exports[_0xa7ac('0x17')]=function(_0x4cbae4){_0x4cbae4=parseInt(_0x4cbae4,0xa);if(!_0x4cbae4||_0x4cbae4<0x0){_0x4cbae4=0x0;}return _0x4cbae4;};exports[_0xa7ac('0x18')]=function(_0x22e91f){var _0x5c33b8,_0xe657=null;if(_0x22e91f){_0x5c33b8=_0x22e91f[_0xa7ac('0x16')](',');_0xe657=_[_0xa7ac('0x19')](_0x5c33b8,function(_0x3a8e02){if(_0x3a8e02[_0xa7ac('0x1a')]('-')===0x0){return[_0x3a8e02===_0xa7ac('0x1b')?sequelize['cast'](sequelize[_0xa7ac('0x1c')](_0xa7ac('0x1b')),'unsigned'):_0x3a8e02['substr'](0x1),_0xa7ac('0x1d')];}else{return[_0x3a8e02===_0xa7ac('0x1b')?sequelize[_0xa7ac('0x1e')](sequelize[_0xa7ac('0x1c')](_0xa7ac('0x1b')),_0xa7ac('0x1f')):_0x3a8e02,'ASC'];}});}return _0xe657;};exports[_0xa7ac('0x20')]=function(_0x56902b,_0x27174d){if(_[_0xa7ac('0x9')](_0x56902b)){return _0x56902b;}if(_[_0xa7ac('0x15')](_0x56902b)){for(var _0xba9720=0x0;_0xba9720<_0x56902b[_0xa7ac('0x21')];_0xba9720+=0x1){_0x56902b[_0xba9720]=this[_0xa7ac('0x20')](_0x56902b[_0xba9720],_0x27174d);}return _0x56902b;}if(!_[_0xa7ac('0x22')](_0x56902b)){return _0x56902b;}if(_[_0xa7ac('0x23')](_0x27174d)){_0x27174d=[_0x27174d];}if(!_[_0xa7ac('0x15')](_0x27174d)){return _0x56902b;}for(var _0x1f3d15=0x0;_0x1f3d15<_0x27174d['length'];_0x1f3d15+=0x1){_[_0xa7ac('0x24')](_0x56902b,_0x27174d[_0x1f3d15]);}for(var _0x27e94c in _0x56902b){if(_0x56902b[_0xa7ac('0x25')](_0x27e94c)){_0x56902b[_0x27e94c]=this[_0xa7ac('0x20')](_0x56902b[_0x27e94c],_0x27174d);}}return _0x56902b;};exports[_0xa7ac('0x26')]=function(_0x352361){return _0x352361[_0xa7ac('0x27')](RegExp(_0xa7ac('0x28')))?!![]:![];};exports['isEmail']=function(_0x5ccf19){return _0x5ccf19[_0xa7ac('0x27')](/^\S+@\S+$/)?!![]:![];};exports['getFullTextValue']=function(_0x39fd85,_0x2d3ff7){var _0x281177=[];var _0x48031b=/([^:]")"+/g;var _0x20ebb3=/[*<>~@-]/g;var _0x23aca1=/[ `!@#$%^&*()_\-?~<>]/;var _0x256a97=/[ ,]+/;var _0x2f8553=_0x2d3ff7?_0xa7ac('0x29'):_0xa7ac('0x2a');if(_0x2d3ff7){_0x39fd85=_0x39fd85[_0xa7ac('0x2b')](_0x20ebb3,'\x20')['trim']();}_0x39fd85[_0xa7ac('0x16')](_0x256a97)[_0xa7ac('0x2c')](function(_0x1fc256){_0x1fc256=_0x1fc256[_0xa7ac('0x2b')](_0x48031b,'$1');_0x1fc256='+'+_0x1fc256+'*';var _0x11f28b=_0x1fc256[_0xa7ac('0x27')](_0x23aca1);if(_0x11f28b){_0x1fc256='\x22'+_0x1fc256+'\x22';}_0x281177[_0xa7ac('0x2d')](_0x1fc256);});_0x2f8553=_0x2f8553[_0xa7ac('0x2b')](_0xa7ac('0x2a'),_0x281177['join']('\x20'));return _0x2f8553;};exports[_0xa7ac('0x2e')]=function(_0x5521f4,_0x36f7ba,_0x28bc6e){var _0x193c8d={},_0x41cb51={};if(_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x30')]){_0x36f7ba[_0xa7ac('0x2f')]['id']=_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x30')];delete _0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x30')];}_0x193c8d[_0xa7ac('0x31')]=_[_0xa7ac('0x19')](_0x5521f4,_0xa7ac('0x32'));_0x193c8d['query']=_[_0xa7ac('0x4')](_0x36f7ba[_0xa7ac('0x2f')]);_0x193c8d[_0xa7ac('0x8')]=_['intersection'](_0x193c8d[_0xa7ac('0x31')],_0x193c8d[_0xa7ac('0x2f')]);_0x41cb51[_0xa7ac('0x33')]=_['intersection'](_0x193c8d[_0xa7ac('0x31')],this['fields'](_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x6')]));_0x41cb51[_0xa7ac('0x33')]=_0x41cb51['attributes'][_0xa7ac('0x21')]?_0x41cb51['attributes']:_0x193c8d[_0xa7ac('0x31')];if(!_0x36f7ba['query']['hasOwnProperty'](_0xa7ac('0x34'))){_0x41cb51['limit']=this[_0xa7ac('0x35')](_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x35')]);_0x41cb51[_0xa7ac('0x17')]=this[_0xa7ac('0x17')](_0x36f7ba['query'][_0xa7ac('0x17')]);}_0x41cb51['order']=this[_0xa7ac('0x18')](_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x18')]);_0x41cb51[_0xa7ac('0x36')]=this[_0xa7ac('0x8')](_['pick'](_0x36f7ba[_0xa7ac('0x2f')],_0x193c8d[_0xa7ac('0x8')]),_0x5521f4);if(_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x37')]){var _0x1995fd=_0x5521f4;var _0x56bf7a=_0x36f7ba['query'][_0xa7ac('0x37')];if(typeof _0x56bf7a==='object'){_0x1995fd=_[_0xa7ac('0x37')](_0x5521f4,function(_0x3cefdb){return _['includes'](_0x56bf7a[_0xa7ac('0x38')],_0x3cefdb[_0xa7ac('0x32')]);});_0x56bf7a=_0x56bf7a[_0xa7ac('0x39')];}_0x41cb51[_0xa7ac('0x36')]=_[_0xa7ac('0x3a')](_0x41cb51[_0xa7ac('0x36')],{'$or':_['map'](_0x1995fd,function(_0x4408c9){if(_0x4408c9[_0xa7ac('0xc')]!==_0xa7ac('0x3b')){if(_0x28bc6e){return sequelize['where'](sequelize['fn'](_0xa7ac('0x3c'),sequelize[_0xa7ac('0x1c')](_0x4408c9['name'])),{'$like':sequelize['fn'](_0xa7ac('0x3c'),'%'+_0x36f7ba['query'][_0xa7ac('0x37')]+'%')});}else{var _0x24fc51={};_0x24fc51[_0x4408c9[_0xa7ac('0x32')]]={'$like':'%'+_0x36f7ba[_0xa7ac('0x2f')][_0xa7ac('0x37')]+'%'};return _0x24fc51;}}})});}_0x41cb51=_[_0xa7ac('0x3a')]({},_0x41cb51,_0x36f7ba[_0xa7ac('0x3d')]);return _0x41cb51;};exports[_0xa7ac('0x3e')]=function(_0x251e7a){var _0x389bd9=[];if(_0x251e7a['includeAll']){_0x389bd9[_0xa7ac('0x2d')]({'all':!![]});}else if(_0x251e7a['include']){if(Array['isArray'](_0x251e7a[_0xa7ac('0x3e')])){_0x389bd9=Object[_0xa7ac('0x4')](_0x251e7a[_0xa7ac('0x3e')])['map'](function(_0x650452){return parseIncludeModel(_0x251e7a[_0xa7ac('0x3e')][_0x650452]);});}else{var _0x5271c2=parseIncludeModel(_0x251e7a[_0xa7ac('0x3e')]);_0x389bd9['push'](_0x5271c2);}}return _0x389bd9;};exports[_0xa7ac('0x3f')]=function(_0x33f69a){return _0x33f69a[_0xa7ac('0x2b')](/[%_^-]/g,function(_0x472460){return'\x5c'+_0x472460;});};