Built motion from commit 85328c08.|2.5.50
[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 _0xac31=['object','columns','value','merge','VIRTUAL','lower','options','lodash','sequelize','moment','parse','keys','includes','split','filters','isEmpty','forOwn','type','DATE','isPlainObject','$gte','format','YYYY-MM-DD','$lte','utc','subtract','name','uniqueid','isArray','limit','offset','sort','indexOf','priority','cast','col','unsigned','substr','DESC','ASC','unset','hasOwnProperty','omit','^[+]?[0-9]*$','isEmail','match','getFullTextValue','forEach','replace','push','join','getOptions','query','$id','model','map','intersection','attributes','fields','length','nolimit','order','where','pick','filter'];(function(_0x4b5543,_0xf090c){var _0x574e4c=function(_0x1cb20c){while(--_0x1cb20c){_0x4b5543['push'](_0x4b5543['shift']());}};_0x574e4c(++_0xf090c);}(_0xac31,0xca));var _0x1ac3=function(_0x157037,_0x269ffe){_0x157037=_0x157037-0x0;var _0x5638e6=_0xac31[_0x157037];return _0x5638e6;};'use strict';var _=require(_0x1ac3('0x0'));var sequelize=require(_0x1ac3('0x1'));var moment=require(_0x1ac3('0x2'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x3086c0){var _0xd6934=['ne'];try{var _0x11dd6d=JSON[_0x1ac3('0x3')](_0x3086c0);var _0x59b42c=Object[_0x1ac3('0x4')](_0x11dd6d)[0x0];return _0xd6934[_0x1ac3('0x5')](_0x59b42c);}catch(_0x4dcc96){return![];}}function getOperatorValue(_0x5ef1b6){var _0xbe22b7=JSON[_0x1ac3('0x3')](_0x5ef1b6);var _0x2bf9b1=Object[_0x1ac3('0x4')](_0xbe22b7)[0x0];var _0x157604=_0xbe22b7[_0x2bf9b1];return{['$'+_0x2bf9b1]:_0x157604};}exports['fields']=function(_0x2d17de){var _0x4d7695=null;if(_0x2d17de){_0x4d7695=_0x2d17de[_0x1ac3('0x6')](',');}return _0x4d7695;};exports[_0x1ac3('0x7')]=function(_0x344674,_0x53500b){var _0xa26c88={};if(!_[_0x1ac3('0x8')](_0x344674)){_[_0x1ac3('0x9')](_0x344674,function(_0x24f0d2,_0x2a8dc7){try{if(_0x53500b){var _0x422d19=_['find'](_0x53500b,{'name':_0x2a8dc7})||{};if(hasSequelizeOperator(_0x24f0d2)){_0xa26c88[_0x2a8dc7]=getOperatorValue(_0x24f0d2);}else if(_0x422d19[_0x1ac3('0xa')]===_0x1ac3('0xb')&&_[_0x1ac3('0xc')](_0x24f0d2)){var _0x2338b9=JSON['parse'](_0x24f0d2);var _0x88ed7c={'$gte':moment(moment(_0x2338b9[_0x1ac3('0xd')])[_0x1ac3('0xe')](_0x1ac3('0xf')))['utc']()[_0x1ac3('0xe')](),'$lte':moment(moment(_0x2338b9[_0x1ac3('0x10')])['format'](_0x1ac3('0xf')))[_0x1ac3('0x11')]()[_0x1ac3('0x12')](0x1,'s')['format']()};_0xa26c88[_0x2a8dc7]=_0x88ed7c;}else if(_0x422d19[_0x1ac3('0x13')]===_0x1ac3('0x14')){_0xa26c88[_0x2a8dc7]=_0x24f0d2;}else{_0xa26c88[_0x2a8dc7]=_[_0x1ac3('0x15')](_0x24f0d2)?_0x24f0d2:JSON['parse'](_0x24f0d2);}}else{_0xa26c88[_0x2a8dc7]=_[_0x1ac3('0x15')](_0x24f0d2)?_0x24f0d2:JSON['parse'](_0x24f0d2);}}catch(_0x291616){_0xa26c88[_0x2a8dc7]=_0x24f0d2[_0x1ac3('0x6')](',');}});}return _0xa26c88;};exports[_0x1ac3('0x16')]=function(_0x3b7e51){_0x3b7e51=parseInt(_0x3b7e51,0xa);if(!_0x3b7e51||_0x3b7e51<0x0){_0x3b7e51=LIMIT_VALUE;}return _0x3b7e51;};exports[_0x1ac3('0x17')]=function(_0x557076){_0x557076=parseInt(_0x557076,0xa);if(!_0x557076||_0x557076<0x0){_0x557076=0x0;}return _0x557076;};exports[_0x1ac3('0x18')]=function(_0x2ea481){var _0x296abf,_0x257f60=null;if(_0x2ea481){_0x296abf=_0x2ea481['split'](',');_0x257f60=_['map'](_0x296abf,function(_0x2879d8){if(_0x2879d8[_0x1ac3('0x19')]('-')===0x0){return[_0x2879d8===_0x1ac3('0x1a')?sequelize[_0x1ac3('0x1b')](sequelize[_0x1ac3('0x1c')](_0x1ac3('0x1a')),_0x1ac3('0x1d')):_0x2879d8[_0x1ac3('0x1e')](0x1),_0x1ac3('0x1f')];}else{return[_0x2879d8==='priority'?sequelize[_0x1ac3('0x1b')](sequelize[_0x1ac3('0x1c')]('priority'),_0x1ac3('0x1d')):_0x2879d8,_0x1ac3('0x20')];}});}return _0x257f60;};exports['omit']=function(_0xf9affb,_0x2f65e8){if(_[_0x1ac3('0x8')](_0xf9affb)){return _0xf9affb;}if(_[_0x1ac3('0x15')](_0xf9affb)){for(var _0x10db3d=0x0;_0x10db3d<_0xf9affb['length'];_0x10db3d+=0x1){_0xf9affb[_0x10db3d]=this['omit'](_0xf9affb[_0x10db3d],_0x2f65e8);}return _0xf9affb;}if(!_['isObject'](_0xf9affb)){return _0xf9affb;}if(_['isString'](_0x2f65e8)){_0x2f65e8=[_0x2f65e8];}if(!_['isArray'](_0x2f65e8)){return _0xf9affb;}for(var _0x3ea482=0x0;_0x3ea482<_0x2f65e8['length'];_0x3ea482+=0x1){_[_0x1ac3('0x21')](_0xf9affb,_0x2f65e8[_0x3ea482]);}for(var _0x3e4a4e in _0xf9affb){if(_0xf9affb[_0x1ac3('0x22')](_0x3e4a4e)){_0xf9affb[_0x3e4a4e]=this[_0x1ac3('0x23')](_0xf9affb[_0x3e4a4e],_0x2f65e8);}}return _0xf9affb;};exports['isNumeric']=function(_0x61441d){return _0x61441d['match'](RegExp(_0x1ac3('0x24')))?!![]:![];};exports[_0x1ac3('0x25')]=function(_0x440aed){return _0x440aed[_0x1ac3('0x26')](/^\S+@\S+$/)?!![]:![];};exports[_0x1ac3('0x27')]=function(_0xc3f097){var _0x9c17c2=[];_0xc3f097['split'](/[ ,]+/)[_0x1ac3('0x28')](function(_0x3b4c65){_0x3b4c65=_0x3b4c65[_0x1ac3('0x29')](/([^:]")"+/g,'$1');_0x3b4c65='+'+_0x3b4c65+'*';var _0x47437c=/[ `!@#$%^&*()_\-?~]/;if(_0x3b4c65['match'](_0x47437c))_0x3b4c65='\x22'+_0x3b4c65+'\x22';_0x9c17c2[_0x1ac3('0x2a')](_0x3b4c65);});return _0x9c17c2[_0x1ac3('0x2b')]('\x20');};exports[_0x1ac3('0x2c')]=function(_0x294513,_0x204d78,_0x479b42){var _0xbeed18={},_0x760b65={};if(_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x2e')]){_0x204d78[_0x1ac3('0x2d')]['id']=_0x204d78[_0x1ac3('0x2d')]['$id'];delete _0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x2e')];}_0xbeed18[_0x1ac3('0x2f')]=_[_0x1ac3('0x30')](_0x294513,'name');_0xbeed18[_0x1ac3('0x2d')]=_[_0x1ac3('0x4')](_0x204d78[_0x1ac3('0x2d')]);_0xbeed18[_0x1ac3('0x7')]=_[_0x1ac3('0x31')](_0xbeed18[_0x1ac3('0x2f')],_0xbeed18[_0x1ac3('0x2d')]);_0x760b65[_0x1ac3('0x32')]=_[_0x1ac3('0x31')](_0xbeed18['model'],this[_0x1ac3('0x33')](_0x204d78[_0x1ac3('0x2d')]['fields']));_0x760b65[_0x1ac3('0x32')]=_0x760b65[_0x1ac3('0x32')][_0x1ac3('0x34')]?_0x760b65[_0x1ac3('0x32')]:_0xbeed18[_0x1ac3('0x2f')];if(!_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x22')](_0x1ac3('0x35'))){_0x760b65['limit']=this[_0x1ac3('0x16')](_0x204d78['query'][_0x1ac3('0x16')]);_0x760b65[_0x1ac3('0x17')]=this[_0x1ac3('0x17')](_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x17')]);}_0x760b65[_0x1ac3('0x36')]=this['sort'](_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x18')]);_0x760b65[_0x1ac3('0x37')]=this['filters'](_[_0x1ac3('0x38')](_0x204d78[_0x1ac3('0x2d')],_0xbeed18['filters']),_0x294513);if(_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x39')]){var _0xb4664e=_0x294513;var _0x1b0099=_0x204d78[_0x1ac3('0x2d')][_0x1ac3('0x39')];if(typeof _0x1b0099===_0x1ac3('0x3a')){_0xb4664e=_[_0x1ac3('0x39')](_0x294513,function(_0x48a0a2){return _[_0x1ac3('0x5')](_0x1b0099[_0x1ac3('0x3b')],_0x48a0a2[_0x1ac3('0x13')]);});_0x1b0099=_0x1b0099[_0x1ac3('0x3c')];}_0x760b65[_0x1ac3('0x37')]=_[_0x1ac3('0x3d')](_0x760b65[_0x1ac3('0x37')],{'$or':_['map'](_0xb4664e,function(_0x4edc4d){if(_0x4edc4d[_0x1ac3('0xa')]!==_0x1ac3('0x3e')){if(_0x479b42){return sequelize['where'](sequelize['fn'](_0x1ac3('0x3f'),sequelize[_0x1ac3('0x1c')](_0x4edc4d['name'])),{'$like':sequelize['fn'](_0x1ac3('0x3f'),'%'+_0x204d78['query'][_0x1ac3('0x39')]+'%')});}else{var _0x406f0d={};_0x406f0d[_0x4edc4d[_0x1ac3('0x13')]]={'$like':'%'+_0x204d78[_0x1ac3('0x2d')]['filter']+'%'};return _0x406f0d;}}})});}_0x760b65=_[_0x1ac3('0x3d')]({},_0x760b65,_0x204d78[_0x1ac3('0x40')]);return _0x760b65;};