Built motion from commit 936e8062.|2.5.33
[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 _0x059a=['isArray','offset','sort','map','indexOf','cast','col','unsigned','substr','priority','ASC','length','omit','isObject','isString','unset','hasOwnProperty','isNumeric','match','isEmail','getFullTextValue','includes','push','join','getOptions','query','$id','model','intersection','attributes','fields','limit','where','pick','filter','merge','type','VIRTUAL','lower','options','lodash','sequelize','moment','parse','keys','split','filters','isEmpty','forOwn','find','DATE','$gte','format','YYYY-MM-DD','utc','$lte','subtract','name','uniqueid'];(function(_0xbb6352,_0x50de62){var _0x16feac=function(_0x1fdc20){while(--_0x1fdc20){_0xbb6352['push'](_0xbb6352['shift']());}};_0x16feac(++_0x50de62);}(_0x059a,0x14f));var _0xa059=function(_0x413410,_0xf7ac22){_0x413410=_0x413410-0x0;var _0x1294e5=_0x059a[_0x413410];return _0x1294e5;};'use strict';var _=require(_0xa059('0x0'));var sequelize=require(_0xa059('0x1'));var moment=require(_0xa059('0x2'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x888784){var _0x5b929f=['ne'];try{var _0x4a1ef4=JSON[_0xa059('0x3')](_0x888784);var _0x579737=Object[_0xa059('0x4')](_0x4a1ef4)[0x0];return _0x5b929f['includes'](_0x579737);}catch(_0xd2e740){return![];}}function getOperatorValue(_0x243d3d){var _0x534f71=JSON[_0xa059('0x3')](_0x243d3d);var _0x5808a3=Object[_0xa059('0x4')](_0x534f71)[0x0];var _0x38bd16=_0x534f71[_0x5808a3];return{['$'+_0x5808a3]:_0x38bd16};}exports['fields']=function(_0x281edd){var _0x254c8d=null;if(_0x281edd){_0x254c8d=_0x281edd[_0xa059('0x5')](',');}return _0x254c8d;};exports[_0xa059('0x6')]=function(_0x51fa25,_0x38264a){var _0x17abc4={};if(!_[_0xa059('0x7')](_0x51fa25)){_[_0xa059('0x8')](_0x51fa25,function(_0x3a3884,_0x234bf7){try{if(_0x38264a){var _0x111873=_[_0xa059('0x9')](_0x38264a,{'name':_0x234bf7})||{};if(hasSequelizeOperator(_0x3a3884)){_0x17abc4[_0x234bf7]=getOperatorValue(_0x3a3884);}else if(_0x111873['type']===_0xa059('0xa')&&_['isPlainObject'](_0x3a3884)){var _0x47efdf=JSON[_0xa059('0x3')](_0x3a3884);var _0x71949f={'$gte':moment(moment(_0x47efdf[_0xa059('0xb')])[_0xa059('0xc')](_0xa059('0xd')))[_0xa059('0xe')]()['format'](),'$lte':moment(moment(_0x47efdf[_0xa059('0xf')])[_0xa059('0xc')](_0xa059('0xd')))[_0xa059('0xe')]()[_0xa059('0x10')](0x1,'s')[_0xa059('0xc')]()};_0x17abc4[_0x234bf7]=_0x71949f;}else if(_0x111873[_0xa059('0x11')]===_0xa059('0x12')){_0x17abc4[_0x234bf7]=_0x3a3884;}else{_0x17abc4[_0x234bf7]=_[_0xa059('0x13')](_0x3a3884)?_0x3a3884:JSON[_0xa059('0x3')](_0x3a3884);}}else{_0x17abc4[_0x234bf7]=_[_0xa059('0x13')](_0x3a3884)?_0x3a3884:JSON['parse'](_0x3a3884);}}catch(_0xd5edc1){_0x17abc4[_0x234bf7]=_0x3a3884['split'](',');}});}return _0x17abc4;};exports['limit']=function(_0x4ff441){_0x4ff441=parseInt(_0x4ff441,0xa);if(!_0x4ff441||_0x4ff441<0x0){_0x4ff441=LIMIT_VALUE;}return _0x4ff441;};exports[_0xa059('0x14')]=function(_0x5ab187){_0x5ab187=parseInt(_0x5ab187,0xa);if(!_0x5ab187||_0x5ab187<0x0){_0x5ab187=0x0;}return _0x5ab187;};exports[_0xa059('0x15')]=function(_0x58fde6){var _0x387e3c,_0x1d13e1=null;if(_0x58fde6){_0x387e3c=_0x58fde6[_0xa059('0x5')](',');_0x1d13e1=_[_0xa059('0x16')](_0x387e3c,function(_0x4cca38){if(_0x4cca38[_0xa059('0x17')]('-')===0x0){return[_0x4cca38==='priority'?sequelize[_0xa059('0x18')](sequelize[_0xa059('0x19')]('priority'),_0xa059('0x1a')):_0x4cca38[_0xa059('0x1b')](0x1),'DESC'];}else{return[_0x4cca38===_0xa059('0x1c')?sequelize['cast'](sequelize[_0xa059('0x19')](_0xa059('0x1c')),'unsigned'):_0x4cca38,_0xa059('0x1d')];}});}return _0x1d13e1;};exports['omit']=function(_0x451048,_0x549a24){if(_[_0xa059('0x7')](_0x451048)){return _0x451048;}if(_[_0xa059('0x13')](_0x451048)){for(var _0x5088d6=0x0;_0x5088d6<_0x451048[_0xa059('0x1e')];_0x5088d6+=0x1){_0x451048[_0x5088d6]=this[_0xa059('0x1f')](_0x451048[_0x5088d6],_0x549a24);}return _0x451048;}if(!_[_0xa059('0x20')](_0x451048)){return _0x451048;}if(_[_0xa059('0x21')](_0x549a24)){_0x549a24=[_0x549a24];}if(!_[_0xa059('0x13')](_0x549a24)){return _0x451048;}for(var _0x29f07a=0x0;_0x29f07a<_0x549a24[_0xa059('0x1e')];_0x29f07a+=0x1){_[_0xa059('0x22')](_0x451048,_0x549a24[_0x29f07a]);}for(var _0xa1a017 in _0x451048){if(_0x451048[_0xa059('0x23')](_0xa1a017)){_0x451048[_0xa1a017]=this[_0xa059('0x1f')](_0x451048[_0xa1a017],_0x549a24);}}return _0x451048;};exports[_0xa059('0x24')]=function(_0x2a3818){return _0x2a3818[_0xa059('0x25')](RegExp('^[+]?[0-9]*$'))?!![]:![];};exports[_0xa059('0x26')]=function(_0x397ae7){return _0x397ae7[_0xa059('0x25')](/^\S+@\S+$/)?!![]:![];};exports[_0xa059('0x27')]=function(_0x3c49ef){var _0x5df131=[];_0x3c49ef[_0xa059('0x5')](/[ ,]+/)['forEach'](function(_0x4f2c83){_0x4f2c83=_0x4f2c83['replace'](/([^:]")"+/g,'$1');_0x4f2c83='+'+_0x4f2c83+'*';if(_0x4f2c83[_0xa059('0x28')]('@'))_0x4f2c83='\x22'+_0x4f2c83+'\x22';_0x5df131[_0xa059('0x29')](_0x4f2c83);});return _0x5df131[_0xa059('0x2a')]('\x20');};exports[_0xa059('0x2b')]=function(_0x25d5f6,_0xede28a,_0x4a9f1f){var _0x5033fa={},_0x437fb6={};if(_0xede28a[_0xa059('0x2c')]['$id']){_0xede28a['query']['id']=_0xede28a['query'][_0xa059('0x2d')];delete _0xede28a['query'][_0xa059('0x2d')];}_0x5033fa[_0xa059('0x2e')]=_[_0xa059('0x16')](_0x25d5f6,'name');_0x5033fa[_0xa059('0x2c')]=_[_0xa059('0x4')](_0xede28a[_0xa059('0x2c')]);_0x5033fa[_0xa059('0x6')]=_[_0xa059('0x2f')](_0x5033fa[_0xa059('0x2e')],_0x5033fa[_0xa059('0x2c')]);_0x437fb6[_0xa059('0x30')]=_[_0xa059('0x2f')](_0x5033fa[_0xa059('0x2e')],this[_0xa059('0x31')](_0xede28a[_0xa059('0x2c')][_0xa059('0x31')]));_0x437fb6[_0xa059('0x30')]=_0x437fb6['attributes'][_0xa059('0x1e')]?_0x437fb6[_0xa059('0x30')]:_0x5033fa[_0xa059('0x2e')];if(!_0xede28a[_0xa059('0x2c')][_0xa059('0x23')]('nolimit')){_0x437fb6[_0xa059('0x32')]=this[_0xa059('0x32')](_0xede28a[_0xa059('0x2c')]['limit']);_0x437fb6['offset']=this[_0xa059('0x14')](_0xede28a[_0xa059('0x2c')]['offset']);}_0x437fb6['order']=this[_0xa059('0x15')](_0xede28a[_0xa059('0x2c')]['sort']);_0x437fb6[_0xa059('0x33')]=this[_0xa059('0x6')](_[_0xa059('0x34')](_0xede28a['query'],_0x5033fa['filters']),_0x25d5f6);if(_0xede28a[_0xa059('0x2c')][_0xa059('0x35')]){_0x437fb6['where']=_[_0xa059('0x36')](_0x437fb6[_0xa059('0x33')],{'$or':_[_0xa059('0x16')](_0x25d5f6,function(_0x4d6e2a){if(_0x4d6e2a[_0xa059('0x37')]!==_0xa059('0x38')){if(_0x4a9f1f){return sequelize[_0xa059('0x33')](sequelize['fn'](_0xa059('0x39'),sequelize['col'](_0x4d6e2a[_0xa059('0x11')])),{'$like':sequelize['fn']('lower','%'+_0xede28a[_0xa059('0x2c')][_0xa059('0x35')]+'%')});}else{var _0x3e4a37={};_0x3e4a37[_0x4d6e2a[_0xa059('0x11')]]={'$like':'%'+_0xede28a[_0xa059('0x2c')]['filter']+'%'};return _0x3e4a37;}}})});}_0x437fb6=_[_0xa059('0x36')]({},_0x437fb6,_0xede28a[_0xa059('0x3a')]);return _0x437fb6;};