bd376da85a4081920b978e1890cde603a920d71e
[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 _0x5496=['length','unset','isNumeric','^[+]?[0-9]*$','getFullTextValue','forEach','replace','push','join','query','$id','model','attributes','intersection','hasOwnProperty','nolimit','offset','order','filter','where','VIRTUAL','lower','name','merge','options','lodash','sequelize','moment','parse','keys','includes','fields','split','filters','isEmpty','find','type','DATE','format','YYYY-MM-DD','utc','$lte','subtract','uniqueid','isArray','limit','sort','map','indexOf','priority','cast','col','unsigned','substr','DESC','omit','isObject','isString'];(function(_0x620806,_0x2150f){var _0x44135e=function(_0x8148a){while(--_0x8148a){_0x620806['push'](_0x620806['shift']());}};_0x44135e(++_0x2150f);}(_0x5496,0x175));var _0x6549=function(_0xd94229,_0x1f2010){_0xd94229=_0xd94229-0x0;var _0xb39de=_0x5496[_0xd94229];return _0xb39de;};'use strict';var _=require(_0x6549('0x0'));var sequelize=require(_0x6549('0x1'));var moment=require(_0x6549('0x2'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0xb6116e){var _0x465fee=['ne'];try{var _0x4b616a=JSON[_0x6549('0x3')](_0xb6116e);var _0x4de1db=Object[_0x6549('0x4')](_0x4b616a)[0x0];return _0x465fee[_0x6549('0x5')](_0x4de1db);}catch(_0x3750cc){return![];}}function getOperatorValue(_0x4d0473){var _0x5a4658=JSON[_0x6549('0x3')](_0x4d0473);var _0x1d8cea=Object['keys'](_0x5a4658)[0x0];var _0x1ca8fc=_0x5a4658[_0x1d8cea];return{['$'+_0x1d8cea]:_0x1ca8fc};}exports[_0x6549('0x6')]=function(_0x1ef2a6){var _0x5c47ba=null;if(_0x1ef2a6){_0x5c47ba=_0x1ef2a6[_0x6549('0x7')](',');}return _0x5c47ba;};exports[_0x6549('0x8')]=function(_0x2ecce2,_0x135c2c){var _0x1e5083={};if(!_[_0x6549('0x9')](_0x2ecce2)){_['forOwn'](_0x2ecce2,function(_0x551133,_0x1e27d4){try{if(_0x135c2c){var _0xac828c=_[_0x6549('0xa')](_0x135c2c,{'name':_0x1e27d4})||{};if(hasSequelizeOperator(_0x551133)){_0x1e5083[_0x1e27d4]=getOperatorValue(_0x551133);}else if(_0xac828c[_0x6549('0xb')]===_0x6549('0xc')&&_['isPlainObject'](_0x551133)){var _0x4dfb06=JSON[_0x6549('0x3')](_0x551133);var _0x39d78c={'$gte':moment(moment(_0x4dfb06['$gte'])[_0x6549('0xd')](_0x6549('0xe')))[_0x6549('0xf')]()[_0x6549('0xd')](),'$lte':moment(moment(_0x4dfb06[_0x6549('0x10')])[_0x6549('0xd')]('YYYY-MM-DD'))['utc']()[_0x6549('0x11')](0x1,'s')[_0x6549('0xd')]()};_0x1e5083[_0x1e27d4]=_0x39d78c;}else if(_0xac828c['name']===_0x6549('0x12')){_0x1e5083[_0x1e27d4]=_0x551133;}else{_0x1e5083[_0x1e27d4]=_[_0x6549('0x13')](_0x551133)?_0x551133:JSON[_0x6549('0x3')](_0x551133);}}else{_0x1e5083[_0x1e27d4]=_[_0x6549('0x13')](_0x551133)?_0x551133:JSON[_0x6549('0x3')](_0x551133);}}catch(_0x53b12b){_0x1e5083[_0x1e27d4]=_0x551133['split'](',');}});}return _0x1e5083;};exports[_0x6549('0x14')]=function(_0x48f037){_0x48f037=parseInt(_0x48f037,0xa);if(!_0x48f037||_0x48f037<0x0){_0x48f037=LIMIT_VALUE;}return _0x48f037;};exports['offset']=function(_0x31f8e7){_0x31f8e7=parseInt(_0x31f8e7,0xa);if(!_0x31f8e7||_0x31f8e7<0x0){_0x31f8e7=0x0;}return _0x31f8e7;};exports[_0x6549('0x15')]=function(_0x19c4a6){var _0xfca192,_0x236fd9=null;if(_0x19c4a6){_0xfca192=_0x19c4a6['split'](',');_0x236fd9=_[_0x6549('0x16')](_0xfca192,function(_0x4b40c1){if(_0x4b40c1[_0x6549('0x17')]('-')===0x0){return[_0x4b40c1===_0x6549('0x18')?sequelize[_0x6549('0x19')](sequelize[_0x6549('0x1a')](_0x6549('0x18')),_0x6549('0x1b')):_0x4b40c1[_0x6549('0x1c')](0x1),_0x6549('0x1d')];}else{return[_0x4b40c1===_0x6549('0x18')?sequelize[_0x6549('0x19')](sequelize[_0x6549('0x1a')](_0x6549('0x18')),_0x6549('0x1b')):_0x4b40c1,'ASC'];}});}return _0x236fd9;};exports[_0x6549('0x1e')]=function(_0x1bc8db,_0x53bbca){if(_[_0x6549('0x9')](_0x1bc8db)){return _0x1bc8db;}if(_[_0x6549('0x13')](_0x1bc8db)){for(var _0x3768cb=0x0;_0x3768cb<_0x1bc8db['length'];_0x3768cb+=0x1){_0x1bc8db[_0x3768cb]=this[_0x6549('0x1e')](_0x1bc8db[_0x3768cb],_0x53bbca);}return _0x1bc8db;}if(!_[_0x6549('0x1f')](_0x1bc8db)){return _0x1bc8db;}if(_[_0x6549('0x20')](_0x53bbca)){_0x53bbca=[_0x53bbca];}if(!_[_0x6549('0x13')](_0x53bbca)){return _0x1bc8db;}for(var _0x442862=0x0;_0x442862<_0x53bbca[_0x6549('0x21')];_0x442862+=0x1){_[_0x6549('0x22')](_0x1bc8db,_0x53bbca[_0x442862]);}for(var _0xa6c718 in _0x1bc8db){if(_0x1bc8db['hasOwnProperty'](_0xa6c718)){_0x1bc8db[_0xa6c718]=this[_0x6549('0x1e')](_0x1bc8db[_0xa6c718],_0x53bbca);}}return _0x1bc8db;};exports[_0x6549('0x23')]=function(_0x17fdfb){return _0x17fdfb['match'](RegExp(_0x6549('0x24')))?!![]:![];};exports['isEmail']=function(_0x4f0ad1){return _0x4f0ad1['match'](/^\S+@\S+$/)?!![]:![];};exports[_0x6549('0x25')]=function(_0x219a96){var _0x4f3069=[];_0x219a96[_0x6549('0x7')](/[ ,]+/)[_0x6549('0x26')](function(_0x2e481f){_0x2e481f=_0x2e481f[_0x6549('0x27')](/([^:]")"+/g,'$1');_0x2e481f='+'+_0x2e481f+'*';if(_0x2e481f[_0x6549('0x5')]('@'))_0x2e481f='\x22'+_0x2e481f+'\x22';_0x4f3069[_0x6549('0x28')](_0x2e481f);});return _0x4f3069[_0x6549('0x29')]('\x20');};exports['getOptions']=function(_0x1b453c,_0x3ebea6,_0x2d52fe){var _0x33bf79={},_0x89c41c={};if(_0x3ebea6[_0x6549('0x2a')]['$id']){_0x3ebea6[_0x6549('0x2a')]['id']=_0x3ebea6['query'][_0x6549('0x2b')];delete _0x3ebea6['query'][_0x6549('0x2b')];}_0x33bf79[_0x6549('0x2c')]=_[_0x6549('0x16')](_0x1b453c,'name');_0x33bf79[_0x6549('0x2a')]=_[_0x6549('0x4')](_0x3ebea6[_0x6549('0x2a')]);_0x33bf79[_0x6549('0x8')]=_['intersection'](_0x33bf79['model'],_0x33bf79['query']);_0x89c41c[_0x6549('0x2d')]=_[_0x6549('0x2e')](_0x33bf79['model'],this[_0x6549('0x6')](_0x3ebea6[_0x6549('0x2a')][_0x6549('0x6')]));_0x89c41c[_0x6549('0x2d')]=_0x89c41c[_0x6549('0x2d')]['length']?_0x89c41c['attributes']:_0x33bf79[_0x6549('0x2c')];if(!_0x3ebea6[_0x6549('0x2a')][_0x6549('0x2f')](_0x6549('0x30'))){_0x89c41c[_0x6549('0x14')]=this[_0x6549('0x14')](_0x3ebea6[_0x6549('0x2a')][_0x6549('0x14')]);_0x89c41c[_0x6549('0x31')]=this[_0x6549('0x31')](_0x3ebea6['query'][_0x6549('0x31')]);}_0x89c41c[_0x6549('0x32')]=this[_0x6549('0x15')](_0x3ebea6[_0x6549('0x2a')][_0x6549('0x15')]);_0x89c41c['where']=this['filters'](_['pick'](_0x3ebea6[_0x6549('0x2a')],_0x33bf79[_0x6549('0x8')]),_0x1b453c);if(_0x3ebea6[_0x6549('0x2a')][_0x6549('0x33')]){_0x89c41c['where']=_['merge'](_0x89c41c[_0x6549('0x34')],{'$or':_[_0x6549('0x16')](_0x1b453c,function(_0x252d20){if(_0x252d20['type']!==_0x6549('0x35')){if(_0x2d52fe){return sequelize['where'](sequelize['fn'](_0x6549('0x36'),sequelize[_0x6549('0x1a')](_0x252d20[_0x6549('0x37')])),{'$like':sequelize['fn'](_0x6549('0x36'),'%'+_0x3ebea6[_0x6549('0x2a')][_0x6549('0x33')]+'%')});}else{var _0xbbfdc9={};_0xbbfdc9[_0x252d20['name']]={'$like':'%'+_0x3ebea6[_0x6549('0x2a')][_0x6549('0x33')]+'%'};return _0xbbfdc9;}}})});}_0x89c41c=_[_0x6549('0x38')]({},_0x89c41c,_0x3ebea6[_0x6549('0x39')]);return _0x89c41c;};