Built motion from commit f25620e4.|2.6.30
[motion2.git] / server / components / parsers / advancedSearch.js
index 34a5e4d..72dc84b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7ea1=['indexOf','map','conditions','push','buildExpression','DATE','operator','$eq','value','$gt','$lte','add','days','format','YYYY-MM-DD','castTo','CAST(','\x20AS\x20','text','field','$notIn','\x20OR\x20','$in','IN\x20?','NOT\x20IN\x20?','=\x20?','$ne','<>\x20?','$substring','LIKE\x20?','$lt','<\x20?','<=\x20?','$gte','$between','start','$startsWith','$endsWith','pop','utcOffset','minutes','seconds','sqlOperator','startsWith','[$or]','and','replace','split','length','forEach','shift','match','filter'];(function(_0x4e94a4,_0x39ad68){var _0x243623=function(_0x1dbf21){while(--_0x1dbf21){_0x4e94a4['push'](_0x4e94a4['shift']());}};_0x243623(++_0x39ad68);}(_0x7ea1,0xc9));var _0x17ea=function(_0x5d72da,_0xb7ce32){_0x5d72da=_0x5d72da-0x0;var _0x43ebe7=_0x7ea1[_0x5d72da];return _0x43ebe7;};'use strict';var _=require('lodash');var moment=require('moment');exports['parseSearch']=function(_0x205b1e){var _0x161f3c={'conditions':[]};_0x161f3c[_0x17ea('0x0')]=_[_0x17ea('0x1')](_0x205b1e,_0x17ea('0x2'))?'or':_0x17ea('0x3');var _0x354c41=_0x205b1e[_0x17ea('0x4')]('[$and]','')[_0x17ea('0x4')](_0x17ea('0x2'),'')[_0x17ea('0x5')]('||');for(var _0x122c6c=0x0;_0x122c6c<_0x354c41[_0x17ea('0x6')];_0x122c6c++){var _0x1b2691=_0x354c41[_0x122c6c][_0x17ea('0x5')](':=');var _0x487782=_0x1b2691[0x0];var _0x4ad01f=_0x1b2691['slice'](0x1);_0x4ad01f[_0x17ea('0x7')](function(_0x35cb03){var _0x5ed7fe=_0x35cb03['split']('[')[_0x17ea('0x8')]();var _0x4d315f=_0x35cb03[_0x17ea('0x9')](/\[(.*?)\]/g);_0x4d315f['forEach'](function(_0xcb243c){var _0x353ae1=_0xcb243c['split']('[')[_0x17ea('0xa')](function(_0x5e31ec){return _0x5e31ec[_0x17ea('0xb')](']')>-0x1;})[_0x17ea('0xc')](function(_0x582455){return _0x582455[_0x17ea('0x5')](']')[0x0];})[0x0];_0x161f3c[_0x17ea('0xd')][_0x17ea('0xe')]({'field':_0x487782,'operator':_0x5ed7fe,'value':_0x353ae1});});});}return _0x161f3c;};exports[_0x17ea('0xf')]=function(_0xf0892d,_0x351e4b,_0x2c5c5e){var _0x59ce10={};if(_0x351e4b===_0x17ea('0x10')){if(_0x2c5c5e[_0x17ea('0x11')]===_0x17ea('0x12')){_0x2c5c5e['operator']='$between';_0x2c5c5e[_0x17ea('0x13')]+=','+_0x2c5c5e['value'];}else if(_['includes']([_0x17ea('0x14'),_0x17ea('0x15')],_0x2c5c5e[_0x17ea('0x11')])){_0x2c5c5e[_0x17ea('0x13')]=moment(_0x2c5c5e['value'])[_0x17ea('0x16')](0x1,_0x17ea('0x17'))[_0x17ea('0x18')](_0x17ea('0x19'));}}if(_0x2c5c5e[_0x17ea('0x1a')]){_0x351e4b=_0x2c5c5e[_0x17ea('0x1a')];_0x59ce10['text']=_0x17ea('0x1b')+_0xf0892d+'.'+_0x2c5c5e['field']+_0x17ea('0x1c')+_0x2c5c5e['castTo']+')\x20'+parseOperator(_0x2c5c5e[_0x17ea('0x11')]);}else{_0x59ce10[_0x17ea('0x1d')]=_0xf0892d+'.'+_0x2c5c5e[_0x17ea('0x1e')]+'\x20'+parseOperator(_0x2c5c5e[_0x17ea('0x11')]);}if(_['includes'](['$ne',_0x17ea('0x1f')],_0x2c5c5e['operator']))_0x59ce10['text']='('+_0x59ce10[_0x17ea('0x1d')]+_0x17ea('0x20')+_0xf0892d+'.'+_0x2c5c5e['field']+'\x20IS\x20NULL)';_0x59ce10[_0x17ea('0x13')]=parseValue(_0x351e4b,_0x2c5c5e['operator'],_0x2c5c5e[_0x17ea('0x13')]);return _0x59ce10;};function parseOperator(_0x431bd1){var _0xa908ab;switch(_0x431bd1){case _0x17ea('0x21'):_0xa908ab=_0x17ea('0x22');break;case'$notIn':_0xa908ab=_0x17ea('0x23');break;case _0x17ea('0x12'):_0xa908ab=_0x17ea('0x24');break;case _0x17ea('0x25'):_0xa908ab=_0x17ea('0x26');break;case _0x17ea('0x27'):case'$startsWith':case'$endsWith':_0xa908ab=_0x17ea('0x28');break;case _0x17ea('0x29'):_0xa908ab=_0x17ea('0x2a');break;case'$gt':_0xa908ab='>\x20?';break;case _0x17ea('0x15'):_0xa908ab=_0x17ea('0x2b');break;case _0x17ea('0x2c'):_0xa908ab='>=\x20?';break;case _0x17ea('0x2d'):_0xa908ab='BETWEEN\x20?\x20AND\x20?';break;}return _0xa908ab;}function parseValue(_0x3e9d2e,_0x3db04f,_0x5d15db){var _0xc265e9={'start':undefined,'end':undefined};switch(_0x3db04f){case _0x17ea('0x21'):case _0x17ea('0x1f'):_0xc265e9[_0x17ea('0x2e')]=_0x5d15db[_0x17ea('0x5')](',');break;case _0x17ea('0x27'):_0xc265e9[_0x17ea('0x2e')]='%'+_0x5d15db+'%';break;case _0x17ea('0x2f'):_0xc265e9[_0x17ea('0x2e')]=_0x5d15db+'%';break;case _0x17ea('0x30'):_0xc265e9[_0x17ea('0x2e')]='%'+_0x5d15db;break;case'$between':var _0x3bf3c2=_0x5d15db[_0x17ea('0x5')](',');var _0x5d15db=_0x3bf3c2[_0x17ea('0x8')]();var _0x2e3ed5=_0x3bf3c2[_0x17ea('0x31')]();if(_0x3e9d2e===_0x17ea('0x10')){_0x5d15db=moment(_0x5d15db)[_0x17ea('0x32')](0x0,!![])[_0x17ea('0x18')]();_0x2e3ed5=moment(_0x2e3ed5)[_0x17ea('0x32')](0x0,!![])['add'](0x17,'hours')[_0x17ea('0x16')](0x3b,_0x17ea('0x33'))[_0x17ea('0x16')](0x3b,_0x17ea('0x34'))[_0x17ea('0x18')]();}_0xc265e9={'start':_0x5d15db,'end':_0x2e3ed5};break;default:_0xc265e9[_0x17ea('0x2e')]=_0x5d15db;break;}return _0xc265e9;}
\ No newline at end of file
+var _0x186d=['LIKE\x20?','>\x20?','<=\x20?','$gte','>=\x20?','BETWEEN\x20?\x20AND\x20?','pop','utcOffset','hours','minutes','start','parseSearch','startsWith','[$or]','and','[$and]','split','length','slice','forEach','shift','match','filter','push','buildExpression','DATE','$eq','operator','$between','value','includes','$gt','$lte','add','days','format','YYYY-MM-DD','castTo','text','field','$ne','$notIn','\x20OR\x20','\x20IS\x20NULL)','$in','IN\x20?','NOT\x20IN\x20?','=\x20?','$substring','$startsWith','$endsWith'];(function(_0x328bd3,_0x9cf5a5){var _0x458149=function(_0x3f60d9){while(--_0x3f60d9){_0x328bd3['push'](_0x328bd3['shift']());}};_0x458149(++_0x9cf5a5);}(_0x186d,0xa4));var _0xd186=function(_0x46ce98,_0x52d764){_0x46ce98=_0x46ce98-0x0;var _0x172f46=_0x186d[_0x46ce98];return _0x172f46;};'use strict';var _=require('lodash');var moment=require('moment');exports[_0xd186('0x0')]=function(_0xbedb81){var _0x2c9f17={'conditions':[]};_0x2c9f17['sqlOperator']=_[_0xd186('0x1')](_0xbedb81,_0xd186('0x2'))?'or':_0xd186('0x3');var _0x398e22=_0xbedb81['replace'](_0xd186('0x4'),'')['replace']('[$or]','')[_0xd186('0x5')]('||');for(var _0x5cb2e1=0x0;_0x5cb2e1<_0x398e22[_0xd186('0x6')];_0x5cb2e1++){var _0x5b9db7=_0x398e22[_0x5cb2e1][_0xd186('0x5')](':=');var _0x54e597=_0x5b9db7[0x0];var _0x4a97c3=_0x5b9db7[_0xd186('0x7')](0x1);_0x4a97c3[_0xd186('0x8')](function(_0x447b40){var _0x1c94f1=_0x447b40[_0xd186('0x5')]('[')[_0xd186('0x9')]();var _0x5428cd=_0x447b40[_0xd186('0xa')](/\[(.*?)\]/g);_0x5428cd['forEach'](function(_0x1088a0){var _0x3668c1=_0x1088a0[_0xd186('0x5')]('[')[_0xd186('0xb')](function(_0x4fcdbb){return _0x4fcdbb['indexOf'](']')>-0x1;})['map'](function(_0x484e94){return _0x484e94['split'](']')[0x0];})[0x0];_0x2c9f17['conditions'][_0xd186('0xc')]({'field':_0x54e597,'operator':_0x1c94f1,'value':_0x3668c1});});});}return _0x2c9f17;};exports[_0xd186('0xd')]=function(_0x47a454,_0x2912e9,_0x3baf48){var _0x1ed3b6={};if(_0x2912e9===_0xd186('0xe')){if(_0x3baf48['operator']===_0xd186('0xf')){_0x3baf48[_0xd186('0x10')]=_0xd186('0x11');_0x3baf48[_0xd186('0x12')]+=','+_0x3baf48[_0xd186('0x12')];}else if(_[_0xd186('0x13')]([_0xd186('0x14'),_0xd186('0x15')],_0x3baf48[_0xd186('0x10')])){_0x3baf48[_0xd186('0x12')]=moment(_0x3baf48[_0xd186('0x12')])[_0xd186('0x16')](0x1,_0xd186('0x17'))[_0xd186('0x18')](_0xd186('0x19'));}}if(_0x3baf48[_0xd186('0x1a')]){_0x2912e9=_0x3baf48[_0xd186('0x1a')];_0x1ed3b6[_0xd186('0x1b')]='CAST('+_0x47a454+'.'+_0x3baf48[_0xd186('0x1c')]+'\x20AS\x20'+_0x3baf48[_0xd186('0x1a')]+')\x20'+parseOperator(_0x3baf48[_0xd186('0x10')]);}else{_0x1ed3b6['text']=_0x47a454+'.'+_0x3baf48[_0xd186('0x1c')]+'\x20'+parseOperator(_0x3baf48['operator']);}if(_['includes']([_0xd186('0x1d'),_0xd186('0x1e')],_0x3baf48[_0xd186('0x10')]))_0x1ed3b6[_0xd186('0x1b')]='('+_0x1ed3b6[_0xd186('0x1b')]+_0xd186('0x1f')+_0x47a454+'.'+_0x3baf48[_0xd186('0x1c')]+_0xd186('0x20');_0x1ed3b6[_0xd186('0x12')]=parseValue(_0x2912e9,_0x3baf48[_0xd186('0x10')],_0x3baf48['value']);return _0x1ed3b6;};function parseOperator(_0x4d6a89){var _0x4f7a68;switch(_0x4d6a89){case _0xd186('0x21'):_0x4f7a68=_0xd186('0x22');break;case _0xd186('0x1e'):_0x4f7a68=_0xd186('0x23');break;case'$eq':_0x4f7a68=_0xd186('0x24');break;case'$ne':_0x4f7a68='<>\x20?';break;case _0xd186('0x25'):case _0xd186('0x26'):case _0xd186('0x27'):_0x4f7a68=_0xd186('0x28');break;case'$lt':_0x4f7a68='<\x20?';break;case _0xd186('0x14'):_0x4f7a68=_0xd186('0x29');break;case _0xd186('0x15'):_0x4f7a68=_0xd186('0x2a');break;case _0xd186('0x2b'):_0x4f7a68=_0xd186('0x2c');break;case _0xd186('0x11'):_0x4f7a68=_0xd186('0x2d');break;}return _0x4f7a68;}function parseValue(_0x532381,_0x336fab,_0x5ca659){var _0x343a19={'start':undefined,'end':undefined};switch(_0x336fab){case _0xd186('0x21'):case _0xd186('0x1e'):_0x343a19['start']=_0x5ca659[_0xd186('0x5')](',');break;case'$substring':_0x343a19['start']='%'+_0x5ca659+'%';break;case'$startsWith':_0x343a19['start']=_0x5ca659+'%';break;case'$endsWith':_0x343a19['start']='%'+_0x5ca659;break;case _0xd186('0x11'):var _0x3dc6a6=_0x5ca659[_0xd186('0x5')](',');var _0x5ca659=_0x3dc6a6[_0xd186('0x9')]();var _0x1632ff=_0x3dc6a6[_0xd186('0x2e')]();if(_0x532381===_0xd186('0xe')){_0x5ca659=moment(_0x5ca659)[_0xd186('0x2f')](0x0,!![])['format']();_0x1632ff=moment(_0x1632ff)['utcOffset'](0x0,!![])[_0xd186('0x16')](0x17,_0xd186('0x30'))[_0xd186('0x16')](0x3b,_0xd186('0x31'))[_0xd186('0x16')](0x3b,'seconds')[_0xd186('0x18')]();}_0x343a19={'start':_0x5ca659,'end':_0x1632ff};break;default:_0x343a19[_0xd186('0x32')]=_0x5ca659;break;}return _0x343a19;}
\ No newline at end of file