Built motion from commit 25580385.|2.6.2
[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 _0xeff8=['^[+]?[0-9]*$','isEmail','getFullTextValue','forEach','replace','push','join','query','$id','filters','intersection','model','attributes','nolimit','order','pick','filter','columns','value','where','merge','VIRTUAL','lower','options','lodash','sequelize','keys','includes','parse','fields','split','isEmpty','find','type','$gte','format','utc','$lte','YYYY-MM-DD','subtract','name','uniqueid','isArray','limit','offset','sort','map','indexOf','cast','col','unsigned','DESC','priority','ASC','omit','length','isObject','isString','unset','hasOwnProperty','match'];(function(_0x1d0499,_0x23e22f){var _0x153fb3=function(_0x40c19c){while(--_0x40c19c){_0x1d0499['push'](_0x1d0499['shift']());}};_0x153fb3(++_0x23e22f);}(_0xeff8,0x186));var _0x8eff=function(_0x122096,_0x60c295){_0x122096=_0x122096-0x0;var _0x3d1966=_0xeff8[_0x122096];return _0x3d1966;};'use strict';var _=require(_0x8eff('0x0'));var sequelize=require(_0x8eff('0x1'));var moment=require('moment');var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x367eaf){var _0x354ff4=['ne'];try{var _0x1e55a0=JSON['parse'](_0x367eaf);var _0x2d7c9c=Object[_0x8eff('0x2')](_0x1e55a0)[0x0];return _0x354ff4[_0x8eff('0x3')](_0x2d7c9c);}catch(_0x2911b1){return![];}}function getOperatorValue(_0x4ac51c){var _0x469641=JSON[_0x8eff('0x4')](_0x4ac51c);var _0x3409bc=Object[_0x8eff('0x2')](_0x469641)[0x0];var _0x491f01=_0x469641[_0x3409bc];return{['$'+_0x3409bc]:_0x491f01};}exports[_0x8eff('0x5')]=function(_0x19557f){var _0x17f22b=null;if(_0x19557f){_0x17f22b=_0x19557f[_0x8eff('0x6')](',');}return _0x17f22b;};exports['filters']=function(_0x56f120,_0x359d62){var _0x430b45={};if(!_[_0x8eff('0x7')](_0x56f120)){_['forOwn'](_0x56f120,function(_0x2a87d2,_0x369b5d){try{if(_0x359d62){var _0x5172a5=_[_0x8eff('0x8')](_0x359d62,{'name':_0x369b5d})||{};if(hasSequelizeOperator(_0x2a87d2)){_0x430b45[_0x369b5d]=getOperatorValue(_0x2a87d2);}else if(_0x5172a5[_0x8eff('0x9')]==='DATE'&&_['isPlainObject'](_0x2a87d2)){var _0x45f280=JSON[_0x8eff('0x4')](_0x2a87d2);var _0xfa12bb={'$gte':moment(moment(_0x45f280[_0x8eff('0xa')])[_0x8eff('0xb')]('YYYY-MM-DD'))[_0x8eff('0xc')]()[_0x8eff('0xb')](),'$lte':moment(moment(_0x45f280[_0x8eff('0xd')])[_0x8eff('0xb')](_0x8eff('0xe')))[_0x8eff('0xc')]()[_0x8eff('0xf')](0x1,'s')[_0x8eff('0xb')]()};_0x430b45[_0x369b5d]=_0xfa12bb;}else if(_0x5172a5[_0x8eff('0x10')]===_0x8eff('0x11')){_0x430b45[_0x369b5d]=_0x2a87d2;}else{_0x430b45[_0x369b5d]=_[_0x8eff('0x12')](_0x2a87d2)?_0x2a87d2:JSON['parse'](_0x2a87d2);}}else{_0x430b45[_0x369b5d]=_[_0x8eff('0x12')](_0x2a87d2)?_0x2a87d2:JSON[_0x8eff('0x4')](_0x2a87d2);}}catch(_0x3cd1dc){_0x430b45[_0x369b5d]=_0x2a87d2[_0x8eff('0x6')](',');}});}return _0x430b45;};exports[_0x8eff('0x13')]=function(_0x3c800b){_0x3c800b=parseInt(_0x3c800b,0xa);if(!_0x3c800b||_0x3c800b<0x0){_0x3c800b=LIMIT_VALUE;}return _0x3c800b;};exports[_0x8eff('0x14')]=function(_0x399d96){_0x399d96=parseInt(_0x399d96,0xa);if(!_0x399d96||_0x399d96<0x0){_0x399d96=0x0;}return _0x399d96;};exports[_0x8eff('0x15')]=function(_0x198ee9){var _0x453c7a,_0x1b65f9=null;if(_0x198ee9){_0x453c7a=_0x198ee9[_0x8eff('0x6')](',');_0x1b65f9=_[_0x8eff('0x16')](_0x453c7a,function(_0xdbb7b5){if(_0xdbb7b5[_0x8eff('0x17')]('-')===0x0){return[_0xdbb7b5==='priority'?sequelize[_0x8eff('0x18')](sequelize[_0x8eff('0x19')]('priority'),_0x8eff('0x1a')):_0xdbb7b5['substr'](0x1),_0x8eff('0x1b')];}else{return[_0xdbb7b5===_0x8eff('0x1c')?sequelize[_0x8eff('0x18')](sequelize[_0x8eff('0x19')](_0x8eff('0x1c')),'unsigned'):_0xdbb7b5,_0x8eff('0x1d')];}});}return _0x1b65f9;};exports[_0x8eff('0x1e')]=function(_0x50784c,_0x15b66f){if(_[_0x8eff('0x7')](_0x50784c)){return _0x50784c;}if(_[_0x8eff('0x12')](_0x50784c)){for(var _0x3b698b=0x0;_0x3b698b<_0x50784c[_0x8eff('0x1f')];_0x3b698b+=0x1){_0x50784c[_0x3b698b]=this[_0x8eff('0x1e')](_0x50784c[_0x3b698b],_0x15b66f);}return _0x50784c;}if(!_[_0x8eff('0x20')](_0x50784c)){return _0x50784c;}if(_[_0x8eff('0x21')](_0x15b66f)){_0x15b66f=[_0x15b66f];}if(!_['isArray'](_0x15b66f)){return _0x50784c;}for(var _0x3e1607=0x0;_0x3e1607<_0x15b66f[_0x8eff('0x1f')];_0x3e1607+=0x1){_[_0x8eff('0x22')](_0x50784c,_0x15b66f[_0x3e1607]);}for(var _0xb88ce9 in _0x50784c){if(_0x50784c[_0x8eff('0x23')](_0xb88ce9)){_0x50784c[_0xb88ce9]=this[_0x8eff('0x1e')](_0x50784c[_0xb88ce9],_0x15b66f);}}return _0x50784c;};exports['isNumeric']=function(_0x4ed3b8){return _0x4ed3b8[_0x8eff('0x24')](RegExp(_0x8eff('0x25')))?!![]:![];};exports[_0x8eff('0x26')]=function(_0x5ce071){return _0x5ce071[_0x8eff('0x24')](/^\S+@\S+$/)?!![]:![];};exports[_0x8eff('0x27')]=function(_0x229e0d){var _0x1da0fa=[];_0x229e0d[_0x8eff('0x6')](/[ ,]+/)[_0x8eff('0x28')](function(_0x141bd7){_0x141bd7=_0x141bd7[_0x8eff('0x29')](/([^:]")"+/g,'$1');_0x141bd7='+'+_0x141bd7+'*';var _0x36a613=/[ `!@#$%^&*()_\-?~]/;if(_0x141bd7[_0x8eff('0x24')](_0x36a613))_0x141bd7='\x22'+_0x141bd7+'\x22';_0x1da0fa[_0x8eff('0x2a')](_0x141bd7);});return _0x1da0fa[_0x8eff('0x2b')]('\x20');};exports['getOptions']=function(_0x2ad4b7,_0x165f8e,_0x115fa4){var _0x7da1fb={},_0x50f211={};if(_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x2d')]){_0x165f8e['query']['id']=_0x165f8e['query'][_0x8eff('0x2d')];delete _0x165f8e[_0x8eff('0x2c')]['$id'];}_0x7da1fb['model']=_['map'](_0x2ad4b7,_0x8eff('0x10'));_0x7da1fb['query']=_[_0x8eff('0x2')](_0x165f8e['query']);_0x7da1fb[_0x8eff('0x2e')]=_[_0x8eff('0x2f')](_0x7da1fb[_0x8eff('0x30')],_0x7da1fb[_0x8eff('0x2c')]);_0x50f211[_0x8eff('0x31')]=_[_0x8eff('0x2f')](_0x7da1fb['model'],this[_0x8eff('0x5')](_0x165f8e['query'][_0x8eff('0x5')]));_0x50f211['attributes']=_0x50f211[_0x8eff('0x31')][_0x8eff('0x1f')]?_0x50f211[_0x8eff('0x31')]:_0x7da1fb[_0x8eff('0x30')];if(!_0x165f8e['query'][_0x8eff('0x23')](_0x8eff('0x32'))){_0x50f211[_0x8eff('0x13')]=this['limit'](_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x13')]);_0x50f211[_0x8eff('0x14')]=this[_0x8eff('0x14')](_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x14')]);}_0x50f211[_0x8eff('0x33')]=this[_0x8eff('0x15')](_0x165f8e[_0x8eff('0x2c')]['sort']);_0x50f211['where']=this[_0x8eff('0x2e')](_[_0x8eff('0x34')](_0x165f8e[_0x8eff('0x2c')],_0x7da1fb[_0x8eff('0x2e')]),_0x2ad4b7);if(_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x35')]){var _0x18b132=_0x2ad4b7;var _0x5acc86=_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x35')];if(typeof _0x5acc86==='object'){_0x18b132=_[_0x8eff('0x35')](_0x2ad4b7,function(_0x1ad6b3){return _[_0x8eff('0x3')](_0x5acc86[_0x8eff('0x36')],_0x1ad6b3[_0x8eff('0x10')]);});_0x5acc86=_0x5acc86[_0x8eff('0x37')];}_0x50f211[_0x8eff('0x38')]=_[_0x8eff('0x39')](_0x50f211[_0x8eff('0x38')],{'$or':_['map'](_0x18b132,function(_0x37f376){if(_0x37f376[_0x8eff('0x9')]!==_0x8eff('0x3a')){if(_0x115fa4){return sequelize[_0x8eff('0x38')](sequelize['fn'](_0x8eff('0x3b'),sequelize['col'](_0x37f376[_0x8eff('0x10')])),{'$like':sequelize['fn']('lower','%'+_0x165f8e[_0x8eff('0x2c')][_0x8eff('0x35')]+'%')});}else{var _0x1e9d99={};_0x1e9d99[_0x37f376[_0x8eff('0x10')]]={'$like':'%'+_0x165f8e['query'][_0x8eff('0x35')]+'%'};return _0x1e9d99;}}})});}_0x50f211=_[_0x8eff('0x39')]({},_0x50f211,_0x165f8e[_0x8eff('0x3c')]);return _0x50f211;};