Built motion from commit f94df7f0.|2.5.48
[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 _0x8d0e=['substr','DESC','ASC','omit','isEmpty','length','isObject','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','isEmail','forEach','join','getOptions','query','$id','model','name','filters','intersection','attributes','nolimit','order','sort','filter','object','where','merge','map','VIRTUAL','lodash','sequelize','moment','parse','keys','fields','split','find','type','DATE','$gte','utc','format','$lte','YYYY-MM-DD','uniqueid','isArray','limit','offset','indexOf','priority','cast','col','unsigned'];(function(_0x231dda,_0x5b04cc){var _0x3f88cb=function(_0x16eb77){while(--_0x16eb77){_0x231dda['push'](_0x231dda['shift']());}};_0x3f88cb(++_0x5b04cc);}(_0x8d0e,0x1d7));var _0xe8d0=function(_0x270f35,_0x2db873){_0x270f35=_0x270f35-0x0;var _0x22fcd3=_0x8d0e[_0x270f35];return _0x22fcd3;};'use strict';var _=require(_0xe8d0('0x0'));var sequelize=require(_0xe8d0('0x1'));var moment=require(_0xe8d0('0x2'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x27628d){var _0x2eae0c=['ne'];try{var _0x3584ab=JSON[_0xe8d0('0x3')](_0x27628d);var _0x940176=Object[_0xe8d0('0x4')](_0x3584ab)[0x0];return _0x2eae0c['includes'](_0x940176);}catch(_0x39caa6){return![];}}function getOperatorValue(_0x482e4e){var _0x560dab=JSON[_0xe8d0('0x3')](_0x482e4e);var _0x92483d=Object[_0xe8d0('0x4')](_0x560dab)[0x0];var _0xcc03d0=_0x560dab[_0x92483d];return{['$'+_0x92483d]:_0xcc03d0};}exports[_0xe8d0('0x5')]=function(_0x13aa63){var _0x1b353a=null;if(_0x13aa63){_0x1b353a=_0x13aa63[_0xe8d0('0x6')](',');}return _0x1b353a;};exports['filters']=function(_0x10e56c,_0x19c3d0){var _0x463159={};if(!_['isEmpty'](_0x10e56c)){_['forOwn'](_0x10e56c,function(_0x42e0c2,_0x25e6b8){try{if(_0x19c3d0){var _0x3da047=_[_0xe8d0('0x7')](_0x19c3d0,{'name':_0x25e6b8})||{};if(hasSequelizeOperator(_0x42e0c2)){_0x463159[_0x25e6b8]=getOperatorValue(_0x42e0c2);}else if(_0x3da047[_0xe8d0('0x8')]===_0xe8d0('0x9')&&_['isPlainObject'](_0x42e0c2)){var _0x38fac0=JSON[_0xe8d0('0x3')](_0x42e0c2);var _0x533b42={'$gte':moment(moment(_0x38fac0[_0xe8d0('0xa')])['format']('YYYY-MM-DD'))[_0xe8d0('0xb')]()[_0xe8d0('0xc')](),'$lte':moment(moment(_0x38fac0[_0xe8d0('0xd')])[_0xe8d0('0xc')](_0xe8d0('0xe')))[_0xe8d0('0xb')]()['subtract'](0x1,'s')[_0xe8d0('0xc')]()};_0x463159[_0x25e6b8]=_0x533b42;}else if(_0x3da047['name']===_0xe8d0('0xf')){_0x463159[_0x25e6b8]=_0x42e0c2;}else{_0x463159[_0x25e6b8]=_[_0xe8d0('0x10')](_0x42e0c2)?_0x42e0c2:JSON[_0xe8d0('0x3')](_0x42e0c2);}}else{_0x463159[_0x25e6b8]=_['isArray'](_0x42e0c2)?_0x42e0c2:JSON['parse'](_0x42e0c2);}}catch(_0x47c67a){_0x463159[_0x25e6b8]=_0x42e0c2[_0xe8d0('0x6')](',');}});}return _0x463159;};exports[_0xe8d0('0x11')]=function(_0x27b910){_0x27b910=parseInt(_0x27b910,0xa);if(!_0x27b910||_0x27b910<0x0){_0x27b910=LIMIT_VALUE;}return _0x27b910;};exports[_0xe8d0('0x12')]=function(_0x83177b){_0x83177b=parseInt(_0x83177b,0xa);if(!_0x83177b||_0x83177b<0x0){_0x83177b=0x0;}return _0x83177b;};exports['sort']=function(_0x105861){var _0x12ebf4,_0x524b00=null;if(_0x105861){_0x12ebf4=_0x105861['split'](',');_0x524b00=_['map'](_0x12ebf4,function(_0x384a60){if(_0x384a60[_0xe8d0('0x13')]('-')===0x0){return[_0x384a60===_0xe8d0('0x14')?sequelize[_0xe8d0('0x15')](sequelize[_0xe8d0('0x16')](_0xe8d0('0x14')),_0xe8d0('0x17')):_0x384a60[_0xe8d0('0x18')](0x1),_0xe8d0('0x19')];}else{return[_0x384a60==='priority'?sequelize[_0xe8d0('0x15')](sequelize[_0xe8d0('0x16')]('priority'),_0xe8d0('0x17')):_0x384a60,_0xe8d0('0x1a')];}});}return _0x524b00;};exports[_0xe8d0('0x1b')]=function(_0xd86c76,_0x146783){if(_[_0xe8d0('0x1c')](_0xd86c76)){return _0xd86c76;}if(_[_0xe8d0('0x10')](_0xd86c76)){for(var _0x32f0c1=0x0;_0x32f0c1<_0xd86c76[_0xe8d0('0x1d')];_0x32f0c1+=0x1){_0xd86c76[_0x32f0c1]=this[_0xe8d0('0x1b')](_0xd86c76[_0x32f0c1],_0x146783);}return _0xd86c76;}if(!_[_0xe8d0('0x1e')](_0xd86c76)){return _0xd86c76;}if(_['isString'](_0x146783)){_0x146783=[_0x146783];}if(!_[_0xe8d0('0x10')](_0x146783)){return _0xd86c76;}for(var _0x26dd52=0x0;_0x26dd52<_0x146783[_0xe8d0('0x1d')];_0x26dd52+=0x1){_['unset'](_0xd86c76,_0x146783[_0x26dd52]);}for(var _0x10a30b in _0xd86c76){if(_0xd86c76[_0xe8d0('0x1f')](_0x10a30b)){_0xd86c76[_0x10a30b]=this['omit'](_0xd86c76[_0x10a30b],_0x146783);}}return _0xd86c76;};exports[_0xe8d0('0x20')]=function(_0x3ffcb7){return _0x3ffcb7[_0xe8d0('0x21')](RegExp(_0xe8d0('0x22')))?!![]:![];};exports[_0xe8d0('0x23')]=function(_0x495064){return _0x495064[_0xe8d0('0x21')](/^\S+@\S+$/)?!![]:![];};exports['getFullTextValue']=function(_0x5d3276){var _0x50ad3c=[];_0x5d3276[_0xe8d0('0x6')](/[ ,]+/)[_0xe8d0('0x24')](function(_0x36ccec){_0x36ccec=_0x36ccec['replace'](/([^:]")"+/g,'$1');_0x36ccec='+'+_0x36ccec+'*';var _0x57e375=/[ `!@#$%^&*()_\-?~]/;if(_0x36ccec[_0xe8d0('0x21')](_0x57e375))_0x36ccec='\x22'+_0x36ccec+'\x22';_0x50ad3c['push'](_0x36ccec);});return _0x50ad3c[_0xe8d0('0x25')]('\x20');};exports[_0xe8d0('0x26')]=function(_0x327004,_0x1b2b0a,_0x2277cf){var _0x5bbc9e={},_0x1bee61={};if(_0x1b2b0a[_0xe8d0('0x27')][_0xe8d0('0x28')]){_0x1b2b0a[_0xe8d0('0x27')]['id']=_0x1b2b0a['query'][_0xe8d0('0x28')];delete _0x1b2b0a[_0xe8d0('0x27')]['$id'];}_0x5bbc9e[_0xe8d0('0x29')]=_['map'](_0x327004,_0xe8d0('0x2a'));_0x5bbc9e['query']=_[_0xe8d0('0x4')](_0x1b2b0a['query']);_0x5bbc9e[_0xe8d0('0x2b')]=_[_0xe8d0('0x2c')](_0x5bbc9e[_0xe8d0('0x29')],_0x5bbc9e[_0xe8d0('0x27')]);_0x1bee61['attributes']=_[_0xe8d0('0x2c')](_0x5bbc9e[_0xe8d0('0x29')],this[_0xe8d0('0x5')](_0x1b2b0a['query'][_0xe8d0('0x5')]));_0x1bee61[_0xe8d0('0x2d')]=_0x1bee61[_0xe8d0('0x2d')][_0xe8d0('0x1d')]?_0x1bee61[_0xe8d0('0x2d')]:_0x5bbc9e['model'];if(!_0x1b2b0a[_0xe8d0('0x27')][_0xe8d0('0x1f')](_0xe8d0('0x2e'))){_0x1bee61[_0xe8d0('0x11')]=this[_0xe8d0('0x11')](_0x1b2b0a[_0xe8d0('0x27')][_0xe8d0('0x11')]);_0x1bee61[_0xe8d0('0x12')]=this['offset'](_0x1b2b0a['query'][_0xe8d0('0x12')]);}_0x1bee61[_0xe8d0('0x2f')]=this[_0xe8d0('0x30')](_0x1b2b0a[_0xe8d0('0x27')][_0xe8d0('0x30')]);_0x1bee61['where']=this[_0xe8d0('0x2b')](_['pick'](_0x1b2b0a[_0xe8d0('0x27')],_0x5bbc9e[_0xe8d0('0x2b')]),_0x327004);if(_0x1b2b0a[_0xe8d0('0x27')]['filter']){var _0x84ec80=_0x327004;var _0x3551a0=_0x1b2b0a[_0xe8d0('0x27')][_0xe8d0('0x31')];if(typeof _0x3551a0===_0xe8d0('0x32')){_0x84ec80=_['filter'](_0x327004,function(_0x5ca42a){return _['includes'](_0x3551a0['columns'],_0x5ca42a[_0xe8d0('0x2a')]);});_0x3551a0=_0x3551a0['value'];}_0x1bee61[_0xe8d0('0x33')]=_[_0xe8d0('0x34')](_0x1bee61[_0xe8d0('0x33')],{'$or':_[_0xe8d0('0x35')](_0x84ec80,function(_0x2fd21e){if(_0x2fd21e[_0xe8d0('0x8')]!==_0xe8d0('0x36')){if(_0x2277cf){return sequelize[_0xe8d0('0x33')](sequelize['fn']('lower',sequelize[_0xe8d0('0x16')](_0x2fd21e[_0xe8d0('0x2a')])),{'$like':sequelize['fn']('lower','%'+_0x1b2b0a['query'][_0xe8d0('0x31')]+'%')});}else{var _0x18a478={};_0x18a478[_0x2fd21e[_0xe8d0('0x2a')]]={'$like':'%'+_0x1b2b0a['query'][_0xe8d0('0x31')]+'%'};return _0x18a478;}}})});}_0x1bee61=_[_0xe8d0('0x34')]({},_0x1bee61,_0x1b2b0a['options']);return _0x1bee61;};