Built motion from commit ecb45b58.|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 _0x846a=['lower','options','include','includeAll','push','escapeLIKESpecialChars','lodash','sequelize','moment','../../mysqldb','keys','includes','parse','model','fields','raw','forOwn','find','type','isPlainObject','$gte','format','YYYY-MM-DD','utc','$lte','name','uniqueid','isArray','split','limit','offset','sort','map','indexOf','priority','cast','col','unsigned','ASC','length','isObject','unset','hasOwnProperty','omit','isNumeric','match','^[+]?[0-9]*$','isEmail','\x22{EXPR}\x22','{EXPR}','trim','forEach','replace','join','getOptions','query','$id','attributes','intersection','nolimit','order','filters','pick','filter','columns','where','merge','VIRTUAL'];(function(_0x3578a4,_0x2a0b48){var _0x4df6f0=function(_0x281498){while(--_0x281498){_0x3578a4['push'](_0x3578a4['shift']());}};_0x4df6f0(++_0x2a0b48);}(_0x846a,0xd2));var _0xa846=function(_0x2f72fc,_0x420022){_0x2f72fc=_0x2f72fc-0x0;var _0x2477b6=_0x846a[_0x2f72fc];return _0x2477b6;};'use strict';var _=require(_0xa846('0x0'));var sequelize=require(_0xa846('0x1'));var moment=require(_0xa846('0x2'));var db=require(_0xa846('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x184a21){var _0x5f5880=['ne'];try{var _0x539794=JSON['parse'](_0x184a21);var _0x1e9512=Object[_0xa846('0x4')](_0x539794)[0x0];return _0x5f5880[_0xa846('0x5')](_0x1e9512);}catch(_0x6f7ffe){return![];}}function getOperatorValue(_0x4f6fee){var _0x1748c6=JSON[_0xa846('0x6')](_0x4f6fee);var _0x308859=Object[_0xa846('0x4')](_0x1748c6)[0x0];var _0x2e661c=_0x1748c6[_0x308859];return{['$'+_0x308859]:_0x2e661c};}function parseIncludeModel(_0x2fbbd6){var _0x390c9e=JSON[_0xa846('0x6')](_0x2fbbd6);return{'model':db[_0x390c9e[_0xa846('0x7')]],'as':_0x390c9e['alias'],'attributes':_0x390c9e[_0xa846('0x8')],'raw':_0x390c9e[_0xa846('0x9')]};}exports[_0xa846('0x8')]=function(_0x352bde){var _0x5b51df=null;if(_0x352bde){_0x5b51df=_0x352bde['split'](',');}return _0x5b51df;};exports['filters']=function(_0x23cd1c,_0x2c4a70){var _0x50e248={};if(!_['isEmpty'](_0x23cd1c)){_[_0xa846('0xa')](_0x23cd1c,function(_0x11686f,_0x3edea1){try{if(_0x2c4a70){var _0x15aa32=_[_0xa846('0xb')](_0x2c4a70,{'name':_0x3edea1})||{};if(hasSequelizeOperator(_0x11686f)){_0x50e248[_0x3edea1]=getOperatorValue(_0x11686f);}else if(_0x15aa32[_0xa846('0xc')]==='DATE'&&_[_0xa846('0xd')](_0x11686f)){var _0x38dc8d=JSON[_0xa846('0x6')](_0x11686f);var _0x465c08={'$gte':moment(moment(_0x38dc8d[_0xa846('0xe')])[_0xa846('0xf')](_0xa846('0x10')))[_0xa846('0x11')]()['format'](),'$lte':moment(moment(_0x38dc8d[_0xa846('0x12')])[_0xa846('0xf')](_0xa846('0x10')))['utc']()['subtract'](0x1,'s')[_0xa846('0xf')]()};_0x50e248[_0x3edea1]=_0x465c08;}else if(_0x15aa32[_0xa846('0x13')]===_0xa846('0x14')){_0x50e248[_0x3edea1]=_0x11686f;}else{_0x50e248[_0x3edea1]=_[_0xa846('0x15')](_0x11686f)?_0x11686f:JSON[_0xa846('0x6')](_0x11686f);}}else{_0x50e248[_0x3edea1]=_['isArray'](_0x11686f)?_0x11686f:JSON[_0xa846('0x6')](_0x11686f);}}catch(_0x376525){_0x50e248[_0x3edea1]=_0x11686f[_0xa846('0x16')](',');}});}return _0x50e248;};exports[_0xa846('0x17')]=function(_0x1317ce){_0x1317ce=parseInt(_0x1317ce,0xa);if(!_0x1317ce||_0x1317ce<0x0){_0x1317ce=LIMIT_VALUE;}return _0x1317ce;};exports[_0xa846('0x18')]=function(_0x3cb782){_0x3cb782=parseInt(_0x3cb782,0xa);if(!_0x3cb782||_0x3cb782<0x0){_0x3cb782=0x0;}return _0x3cb782;};exports[_0xa846('0x19')]=function(_0x36437b){var _0x47eb59,_0x2b2a25=null;if(_0x36437b){_0x47eb59=_0x36437b['split'](',');_0x2b2a25=_[_0xa846('0x1a')](_0x47eb59,function(_0x3bf3bd){if(_0x3bf3bd[_0xa846('0x1b')]('-')===0x0){return[_0x3bf3bd===_0xa846('0x1c')?sequelize[_0xa846('0x1d')](sequelize[_0xa846('0x1e')](_0xa846('0x1c')),_0xa846('0x1f')):_0x3bf3bd['substr'](0x1),'DESC'];}else{return[_0x3bf3bd===_0xa846('0x1c')?sequelize[_0xa846('0x1d')](sequelize['col']('priority'),_0xa846('0x1f')):_0x3bf3bd,_0xa846('0x20')];}});}return _0x2b2a25;};exports['omit']=function(_0x4834a0,_0x55d89e){if(_['isEmpty'](_0x4834a0)){return _0x4834a0;}if(_['isArray'](_0x4834a0)){for(var _0xddc62a=0x0;_0xddc62a<_0x4834a0[_0xa846('0x21')];_0xddc62a+=0x1){_0x4834a0[_0xddc62a]=this['omit'](_0x4834a0[_0xddc62a],_0x55d89e);}return _0x4834a0;}if(!_[_0xa846('0x22')](_0x4834a0)){return _0x4834a0;}if(_['isString'](_0x55d89e)){_0x55d89e=[_0x55d89e];}if(!_[_0xa846('0x15')](_0x55d89e)){return _0x4834a0;}for(var _0x4483ac=0x0;_0x4483ac<_0x55d89e['length'];_0x4483ac+=0x1){_[_0xa846('0x23')](_0x4834a0,_0x55d89e[_0x4483ac]);}for(var _0x23cc36 in _0x4834a0){if(_0x4834a0[_0xa846('0x24')](_0x23cc36)){_0x4834a0[_0x23cc36]=this[_0xa846('0x25')](_0x4834a0[_0x23cc36],_0x55d89e);}}return _0x4834a0;};exports[_0xa846('0x26')]=function(_0x22b52c){return _0x22b52c[_0xa846('0x27')](RegExp(_0xa846('0x28')))?!![]:![];};exports[_0xa846('0x29')]=function(_0x1ccf93){return _0x1ccf93['match'](/^\S+@\S+$/)?!![]:![];};exports['getFullTextValue']=function(_0x5d9e26,_0x38bd93){var _0x1725e9=[];var _0x3fdc77=/([^:]")"+/g;var _0xbdf0a4=/[*<>~@-]/g;var _0x38306f=/[ `!@#$%^&*()_\-?~<>]/;var _0x384b24=/[ ,]+/;var _0x1e6113=_0x38bd93?_0xa846('0x2a'):_0xa846('0x2b');if(_0x38bd93){_0x5d9e26=_0x5d9e26['replace'](_0xbdf0a4,'\x20')[_0xa846('0x2c')]();}_0x5d9e26[_0xa846('0x16')](_0x384b24)[_0xa846('0x2d')](function(_0x3e4160){_0x3e4160=_0x3e4160[_0xa846('0x2e')](_0x3fdc77,'$1');_0x3e4160='+'+_0x3e4160+'*';var _0xe53186=_0x3e4160['match'](_0x38306f);if(_0xe53186){_0x3e4160='\x22'+_0x3e4160+'\x22';}_0x1725e9['push'](_0x3e4160);});_0x1e6113=_0x1e6113[_0xa846('0x2e')]('{EXPR}',_0x1725e9[_0xa846('0x2f')]('\x20'));return _0x1e6113;};exports[_0xa846('0x30')]=function(_0x22bde7,_0x10cf70,_0x3250c1){var _0x121a2e={},_0x44e6f1={};if(_0x10cf70[_0xa846('0x31')][_0xa846('0x32')]){_0x10cf70['query']['id']=_0x10cf70[_0xa846('0x31')][_0xa846('0x32')];delete _0x10cf70[_0xa846('0x31')][_0xa846('0x32')];}_0x121a2e[_0xa846('0x7')]=_[_0xa846('0x1a')](_0x22bde7,'name');_0x121a2e[_0xa846('0x31')]=_[_0xa846('0x4')](_0x10cf70['query']);_0x121a2e['filters']=_['intersection'](_0x121a2e['model'],_0x121a2e[_0xa846('0x31')]);_0x44e6f1[_0xa846('0x33')]=_[_0xa846('0x34')](_0x121a2e[_0xa846('0x7')],this[_0xa846('0x8')](_0x10cf70[_0xa846('0x31')][_0xa846('0x8')]));_0x44e6f1[_0xa846('0x33')]=_0x44e6f1[_0xa846('0x33')][_0xa846('0x21')]?_0x44e6f1[_0xa846('0x33')]:_0x121a2e[_0xa846('0x7')];if(!_0x10cf70[_0xa846('0x31')]['hasOwnProperty'](_0xa846('0x35'))){_0x44e6f1[_0xa846('0x17')]=this[_0xa846('0x17')](_0x10cf70[_0xa846('0x31')][_0xa846('0x17')]);_0x44e6f1[_0xa846('0x18')]=this[_0xa846('0x18')](_0x10cf70[_0xa846('0x31')][_0xa846('0x18')]);}_0x44e6f1[_0xa846('0x36')]=this['sort'](_0x10cf70[_0xa846('0x31')]['sort']);_0x44e6f1['where']=this[_0xa846('0x37')](_[_0xa846('0x38')](_0x10cf70[_0xa846('0x31')],_0x121a2e['filters']),_0x22bde7);if(_0x10cf70['query'][_0xa846('0x39')]){var _0x3745e9=_0x22bde7;var _0x2a2e8f=_0x10cf70[_0xa846('0x31')]['filter'];if(typeof _0x2a2e8f==='object'){_0x3745e9=_[_0xa846('0x39')](_0x22bde7,function(_0x409fe0){return _[_0xa846('0x5')](_0x2a2e8f[_0xa846('0x3a')],_0x409fe0[_0xa846('0x13')]);});_0x2a2e8f=_0x2a2e8f['value'];}_0x44e6f1[_0xa846('0x3b')]=_[_0xa846('0x3c')](_0x44e6f1['where'],{'$or':_['map'](_0x3745e9,function(_0x32ed1f){if(_0x32ed1f['type']!==_0xa846('0x3d')){if(_0x3250c1){return sequelize[_0xa846('0x3b')](sequelize['fn'](_0xa846('0x3e'),sequelize[_0xa846('0x1e')](_0x32ed1f['name'])),{'$like':sequelize['fn']('lower','%'+_0x10cf70['query'][_0xa846('0x39')]+'%')});}else{var _0x9a65a5={};_0x9a65a5[_0x32ed1f[_0xa846('0x13')]]={'$like':'%'+_0x10cf70[_0xa846('0x31')][_0xa846('0x39')]+'%'};return _0x9a65a5;}}})});}_0x44e6f1=_[_0xa846('0x3c')]({},_0x44e6f1,_0x10cf70[_0xa846('0x3f')]);return _0x44e6f1;};exports[_0xa846('0x40')]=function(_0x2188a0){var _0x4adc2a=[];if(_0x2188a0[_0xa846('0x41')]){_0x4adc2a[_0xa846('0x42')]({'all':!![]});}else if(_0x2188a0[_0xa846('0x40')]){if(Array[_0xa846('0x15')](_0x2188a0[_0xa846('0x40')])){_0x4adc2a=Object[_0xa846('0x4')](_0x2188a0[_0xa846('0x40')])['map'](function(_0x4a7845){return parseIncludeModel(_0x2188a0[_0xa846('0x40')][_0x4a7845]);});}else{var _0x25abf1=parseIncludeModel(_0x2188a0[_0xa846('0x40')]);_0x4adc2a[_0xa846('0x42')](_0x25abf1);}}return _0x4adc2a;};exports[_0xa846('0x43')]=function(_0x30bbaf){return _0x30bbaf[_0xa846('0x2e')](/[%_^-]/g,function(_0x30b73b){return'\x5c'+_0x30b73b;});};