823f7da29d0ec369a23fac9d4778c1947b55dd20
[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 _0x885a=['^[+]?[0-9]*$','isEmail','getFullTextValue','forEach','replace','push','join','query','$id','name','intersection','model','attributes','hasOwnProperty','order','where','pick','filter','object','columns','merge','VIRTUAL','lower','options','sequelize','moment','parse','keys','includes','fields','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','format','YYYY-MM-DD','utc','subtract','uniqueid','isArray','split','limit','offset','sort','map','priority','cast','col','unsigned','DESC','omit','isObject','isString','length','unset','match'];(function(_0x53f7b5,_0x50049e){var _0x2ae59d=function(_0x28ac58){while(--_0x28ac58){_0x53f7b5['push'](_0x53f7b5['shift']());}};_0x2ae59d(++_0x50049e);}(_0x885a,0x180));var _0xa885=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x885a[_0x21a9d9];return _0x46adce;};'use strict';var _=require('lodash');var sequelize=require(_0xa885('0x0'));var moment=require(_0xa885('0x1'));var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x35456c){var _0x2e4bc8=['ne'];try{var _0x573a2b=JSON[_0xa885('0x2')](_0x35456c);var _0x1c41b5=Object[_0xa885('0x3')](_0x573a2b)[0x0];return _0x2e4bc8[_0xa885('0x4')](_0x1c41b5);}catch(_0x108285){return![];}}function getOperatorValue(_0x33f18b){var _0x5dfd7e=JSON[_0xa885('0x2')](_0x33f18b);var _0x1200c7=Object[_0xa885('0x3')](_0x5dfd7e)[0x0];var _0x546175=_0x5dfd7e[_0x1200c7];return{['$'+_0x1200c7]:_0x546175};}exports[_0xa885('0x5')]=function(_0x2b7916){var _0x38df93=null;if(_0x2b7916){_0x38df93=_0x2b7916['split'](',');}return _0x38df93;};exports[_0xa885('0x6')]=function(_0x299f57,_0x42ab89){var _0x745710={};if(!_[_0xa885('0x7')](_0x299f57)){_[_0xa885('0x8')](_0x299f57,function(_0xcf5f96,_0x571c0d){try{if(_0x42ab89){var _0x8a82f5=_[_0xa885('0x9')](_0x42ab89,{'name':_0x571c0d})||{};if(hasSequelizeOperator(_0xcf5f96)){_0x745710[_0x571c0d]=getOperatorValue(_0xcf5f96);}else if(_0x8a82f5[_0xa885('0xa')]===_0xa885('0xb')&&_[_0xa885('0xc')](_0xcf5f96)){var _0x3e9c7a=JSON[_0xa885('0x2')](_0xcf5f96);var _0x574eb8={'$gte':moment(moment(_0x3e9c7a[_0xa885('0xd')])[_0xa885('0xe')](_0xa885('0xf')))[_0xa885('0x10')]()[_0xa885('0xe')](),'$lte':moment(moment(_0x3e9c7a['$lte'])[_0xa885('0xe')](_0xa885('0xf')))['utc']()[_0xa885('0x11')](0x1,'s')[_0xa885('0xe')]()};_0x745710[_0x571c0d]=_0x574eb8;}else if(_0x8a82f5['name']===_0xa885('0x12')){_0x745710[_0x571c0d]=_0xcf5f96;}else{_0x745710[_0x571c0d]=_[_0xa885('0x13')](_0xcf5f96)?_0xcf5f96:JSON['parse'](_0xcf5f96);}}else{_0x745710[_0x571c0d]=_[_0xa885('0x13')](_0xcf5f96)?_0xcf5f96:JSON['parse'](_0xcf5f96);}}catch(_0x2e9290){_0x745710[_0x571c0d]=_0xcf5f96[_0xa885('0x14')](',');}});}return _0x745710;};exports[_0xa885('0x15')]=function(_0x4e4d51){_0x4e4d51=parseInt(_0x4e4d51,0xa);if(!_0x4e4d51||_0x4e4d51<0x0){_0x4e4d51=LIMIT_VALUE;}return _0x4e4d51;};exports[_0xa885('0x16')]=function(_0x56a614){_0x56a614=parseInt(_0x56a614,0xa);if(!_0x56a614||_0x56a614<0x0){_0x56a614=0x0;}return _0x56a614;};exports[_0xa885('0x17')]=function(_0x1d5d0b){var _0x113043,_0x523916=null;if(_0x1d5d0b){_0x113043=_0x1d5d0b[_0xa885('0x14')](',');_0x523916=_[_0xa885('0x18')](_0x113043,function(_0x1530b6){if(_0x1530b6['indexOf']('-')===0x0){return[_0x1530b6===_0xa885('0x19')?sequelize[_0xa885('0x1a')](sequelize[_0xa885('0x1b')]('priority'),_0xa885('0x1c')):_0x1530b6['substr'](0x1),_0xa885('0x1d')];}else{return[_0x1530b6===_0xa885('0x19')?sequelize['cast'](sequelize[_0xa885('0x1b')](_0xa885('0x19')),_0xa885('0x1c')):_0x1530b6,'ASC'];}});}return _0x523916;};exports[_0xa885('0x1e')]=function(_0x14aed1,_0x558098){if(_[_0xa885('0x7')](_0x14aed1)){return _0x14aed1;}if(_['isArray'](_0x14aed1)){for(var _0x15ff4d=0x0;_0x15ff4d<_0x14aed1['length'];_0x15ff4d+=0x1){_0x14aed1[_0x15ff4d]=this[_0xa885('0x1e')](_0x14aed1[_0x15ff4d],_0x558098);}return _0x14aed1;}if(!_[_0xa885('0x1f')](_0x14aed1)){return _0x14aed1;}if(_[_0xa885('0x20')](_0x558098)){_0x558098=[_0x558098];}if(!_[_0xa885('0x13')](_0x558098)){return _0x14aed1;}for(var _0x1e0177=0x0;_0x1e0177<_0x558098[_0xa885('0x21')];_0x1e0177+=0x1){_[_0xa885('0x22')](_0x14aed1,_0x558098[_0x1e0177]);}for(var _0x3f219d in _0x14aed1){if(_0x14aed1['hasOwnProperty'](_0x3f219d)){_0x14aed1[_0x3f219d]=this['omit'](_0x14aed1[_0x3f219d],_0x558098);}}return _0x14aed1;};exports['isNumeric']=function(_0x4fc438){return _0x4fc438[_0xa885('0x23')](RegExp(_0xa885('0x24')))?!![]:![];};exports[_0xa885('0x25')]=function(_0x17c0eb){return _0x17c0eb[_0xa885('0x23')](/^\S+@\S+$/)?!![]:![];};exports[_0xa885('0x26')]=function(_0x5ac39f){var _0x40d982=[];_0x5ac39f['split'](/[ ,]+/)[_0xa885('0x27')](function(_0x4a1e54){_0x4a1e54=_0x4a1e54[_0xa885('0x28')](/([^:]")"+/g,'$1');_0x4a1e54='+'+_0x4a1e54+'*';var _0x528a71=/[ `!@#$%^&*()_\-?~]/;if(_0x4a1e54[_0xa885('0x23')](_0x528a71))_0x4a1e54='\x22'+_0x4a1e54+'\x22';_0x40d982[_0xa885('0x29')](_0x4a1e54);});return _0x40d982[_0xa885('0x2a')]('\x20');};exports['getOptions']=function(_0x15f3a,_0x23dea1,_0x5ed672){var _0x30814a={},_0x54dbd8={};if(_0x23dea1[_0xa885('0x2b')][_0xa885('0x2c')]){_0x23dea1[_0xa885('0x2b')]['id']=_0x23dea1['query'][_0xa885('0x2c')];delete _0x23dea1[_0xa885('0x2b')][_0xa885('0x2c')];}_0x30814a['model']=_[_0xa885('0x18')](_0x15f3a,_0xa885('0x2d'));_0x30814a[_0xa885('0x2b')]=_[_0xa885('0x3')](_0x23dea1[_0xa885('0x2b')]);_0x30814a[_0xa885('0x6')]=_[_0xa885('0x2e')](_0x30814a[_0xa885('0x2f')],_0x30814a['query']);_0x54dbd8['attributes']=_[_0xa885('0x2e')](_0x30814a[_0xa885('0x2f')],this[_0xa885('0x5')](_0x23dea1[_0xa885('0x2b')][_0xa885('0x5')]));_0x54dbd8[_0xa885('0x30')]=_0x54dbd8[_0xa885('0x30')][_0xa885('0x21')]?_0x54dbd8[_0xa885('0x30')]:_0x30814a['model'];if(!_0x23dea1['query'][_0xa885('0x31')]('nolimit')){_0x54dbd8['limit']=this[_0xa885('0x15')](_0x23dea1['query'][_0xa885('0x15')]);_0x54dbd8[_0xa885('0x16')]=this[_0xa885('0x16')](_0x23dea1[_0xa885('0x2b')][_0xa885('0x16')]);}_0x54dbd8[_0xa885('0x32')]=this[_0xa885('0x17')](_0x23dea1[_0xa885('0x2b')][_0xa885('0x17')]);_0x54dbd8[_0xa885('0x33')]=this['filters'](_[_0xa885('0x34')](_0x23dea1[_0xa885('0x2b')],_0x30814a[_0xa885('0x6')]),_0x15f3a);if(_0x23dea1[_0xa885('0x2b')][_0xa885('0x35')]){var _0x5e327f=_0x15f3a;var _0x57d912=_0x23dea1[_0xa885('0x2b')][_0xa885('0x35')];if(typeof _0x57d912===_0xa885('0x36')){_0x5e327f=_[_0xa885('0x35')](_0x15f3a,function(_0x1cfe71){return _['includes'](_0x57d912[_0xa885('0x37')],_0x1cfe71[_0xa885('0x2d')]);});_0x57d912=_0x57d912['value'];}_0x54dbd8['where']=_[_0xa885('0x38')](_0x54dbd8[_0xa885('0x33')],{'$or':_['map'](_0x5e327f,function(_0x561bf0){if(_0x561bf0[_0xa885('0xa')]!==_0xa885('0x39')){if(_0x5ed672){return sequelize[_0xa885('0x33')](sequelize['fn'](_0xa885('0x3a'),sequelize[_0xa885('0x1b')](_0x561bf0[_0xa885('0x2d')])),{'$like':sequelize['fn'](_0xa885('0x3a'),'%'+_0x23dea1[_0xa885('0x2b')][_0xa885('0x35')]+'%')});}else{var _0x3dcf63={};_0x3dcf63[_0x561bf0[_0xa885('0x2d')]]={'$like':'%'+_0x23dea1['query'][_0xa885('0x35')]+'%'};return _0x3dcf63;}}})});}_0x54dbd8=_[_0xa885('0x38')]({},_0x54dbd8,_0x23dea1[_0xa885('0x3b')]);return _0x54dbd8;};